Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.01;
Скачать: 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 вся ветка

Текущий архив: 2002.07.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
1-1092
Tornado
2002-06-19 13:14
2002.07.01
Помогите, плиз


1-1050
Oleg2002
2002-06-18 18:50
2002.07.01
Delphi и Word...


1-1027
d_oleg
2002-06-18 10:45
2002.07.01
TBitMap - в dll


3-900
maxim2
2002-06-07 14:51
2002.07.01
DBGrid перекрывает MDichild форму


3-927
PavelB
2002-06-06 09:16
2002.07.01
обновление dbcontrols