Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Переход с Interbase и MSSQL на Oracle. Нужен совет. / 8 сообщений из 8, страница 1 из 1
25.06.2003, 17:12:59
    #32191536
Serge_msj
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Interbase и MSSQL на Oracle. Нужен совет.
Основная проблема – конвертация процедур, возвращающих набор данных (или таблицу). Процедуры в основном используются с параметром "дата выбора" для получения актуальных данных из таблиц с историей.
В Interbase использование подобных процедур очень удобно и работают они быстро.
В Oracle приходится заморачиваться с объектными типами и процедуры-функции работают ужасно медленно, а именно конструкция:
SELECT *
FROM TABLE(CAST(MY_FUNC(SEL_DATE,..) AS TABLE_TYPE)),
есть ли у кого какое мнение?

Сергей, mailto:msj@mail.ru
...
Рейтинг: 0 / 0
25.06.2003, 17:25:09
    #32191555
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Interbase и MSSQL на Oracle. Нужен совет.
In 9i you could rewrite them as pipelined functions which might improve the performance.

SY
...
Рейтинг: 0 / 0
25.06.2003, 17:38:18
    #32191584
Serge_msj
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Interbase и MSSQL на Oracle. Нужен совет.
Sorry, но у меня 8i (8.1.7)
...
Рейтинг: 0 / 0
25.06.2003, 17:40:25
    #32191588
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Interbase и MSSQL на Oracle. Нужен совет.
>есть ли у кого какое мнение?

ну а ref cursor?
...
Рейтинг: 0 / 0
25.06.2003, 17:53:17
    #32191609
Serge_msj
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Interbase и MSSQL на Oracle. Нужен совет.
Запрос передается с клиента (Delphi DOA) и результат нужен клиенту именно в виде таблицы, получить ref cursor, по-моему, так нельзя.
...
Рейтинг: 0 / 0
25.06.2003, 18:01:18
    #32191618
Александр Б
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Interbase и MSSQL на Oracle. Нужен совет.
Cursor variables

To create a dataset that is based on a cursor variable, simply create a PL/SQL block in the SQL property to call the procedure that opens the cursor. For more information about cursor variables, see the example that explains this feature
...
Рейтинг: 0 / 0
25.06.2003, 19:04:26
    #32191690
Elsid
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Interbase и MSSQL на Oracle. Нужен совет.
// простейший пакет с процедурой , которую можно использовать и в Delphi
// и в Oracle Forms и JBuilder и для систем очетов Cristal Reports и Oracle Reports


CREATE OR REPLACE
PACKAGE testaf AS
TYPE V2 IS RECORD
(
OT_ID OTDEL.OT_ID%TYPE,
OT_NAME OTDEL.OT_NAME%TYPE,
OT_ADDRESS OTDEL.OT_NAME%TYPE

);
TYPE OC IS REF CURSOR RETURN V2;
procedure OTDELINF (CR IN OUT OC);
end;
/


CREATE OR REPLACE
PACKAGE BODY testaf
AS
procedure OTDELINF
(CR IN OUT OC) IS
BEGIN
open CR for
SELECT OT_ID , OT_NAME , OT_ADDRESS
FROM OTDEL ;
END;

END;
/
...
Рейтинг: 0 / 0
26.06.2003, 10:00:18
    #32191938
Simon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Interbase и MSSQL на Oracle. Нужен совет.
а что ты понимаешь под таблицей с историей??

поле1
поле2
датас
датадо

?????
если так, то просто передавай в процедуру еще одну переменную (дату) и пусть она тебе возвращает ref на курсор
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Переход с Interbase и MSSQL на Oracle. Нужен совет. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]