Вниз
Скачать: CL | DM;

Как вернуть несколько значений из процедуры/функции в ?   Найти похожие ветки 

← →
Oleg_EM ©   (2002-06-04 09:41) [0]

в IB select * from MyFunc(1)
вернет все значения, которые описаны в процедуре

а как тоже самое сделать в Oracle 7 ?

P.S. значения вернуть нада не наклиента,
а в другую процедуру ;-)


← →
Johnmen ©   (2002-06-04 09:50) [1]

Непонятно, в чем проблема то...
Описываешь параметры процедуры как OUT и все...


← →
Johnny Smith ©   (2002-06-04 10:07) [2]

2Oleg_EM © (04.06.02 09:41)
Аналогичные вопросы встречаются довольно часто. Ответ один и тот же: механизма возврата набора строк из хранимой процедуры, аналогичного IB, в Оракле (да и в др. СУБД) нет.
Поэтому существует куча обходных путей.
Один из них - работа с пакетной переменной типа Table Of Record: она создается и заполняется одной процедурой пакета, а результаты из нее вытаскиваются селектом другой функции (функций) того же пакета.


← →
Oleg_EM ©   (2002-06-04 10:17) [3]

2Johnhy Smith спасиба, идея понятна !


← →
Илья_____   (2002-06-04 10:58) [4]

Если нужно выводить данные в DBGrid, то можно из функции возвращать курсор. На ф-цию вешается TStoredProc, а на неё уже DBGrid. Я так обходил.... :)


← →
Oleg_EM ©   (2002-06-04 11:39) [5]

да нет, мне нада в одной процедуре получать несколько значений из другой процедуры, передавая ей параметры, можно конечно и в одну процедуру все впихнуть, но не читаемо будет :-)


← →
Sergey13 ©   (2002-06-04 11:52) [6]

Так в процедуру курсор передать еще проще. В первой открыл, во второй прочитал. Но все это желательно делать в пакете. Проще.


← →
PSERG   (2002-06-05 14:44) [7]

Если у тебя Oracle 8-9 то можно воспользоваться объектными типами и Nested Table. Если заинтересуешься напиши на мыло, раскажу подробнее.


← →
Johnny Smith ©   (2002-06-05 15:11) [8]

2PSERG (05.06.02 14:44)
Функция (причем не важно, в каком Оракле) на может возвращать иных значений, кроме Varchar, Number и Date...


← →
Yuvich ©   (2002-06-06 14:05) [9]

> Johnny Smith
Ну почему же? Функция возвращает все типы, поддерживаемые PL/SQL, в том числе и user defined, например типа ref cursor.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
14-1158
Kozhanov
2002-05-28 18:38
2002.07.01
До начала чемпионата мира осталось 3 для ! Ура, ТОВАРИЩИ !!!


1-1053
ValeX
2002-06-18 18:54
2002.07.01
этот код не работает, в файл не пишет :(


4-1255
Beginer
2002-05-03 22:15
2002.07.01
Как изменить размер поля редактирования в диалоге?


8-1115
Alex_Cherepanov
2002-01-17 16:23
2002.07.01
GSM->PCM


3-916
Abu
2002-06-05 16:12
2002.07.01
Ошибка если в look-up-поле




   Наверх