![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вернуть несколько значений из процедуры/функции в ? [Oracle]
Oleg_EM © (2002-06-04 09:41:00)в IB select * from MyFunc(1)
вернет все значения, которые описаны в процедуре
а как тоже самое сделать в Oracle 7 ?
P.S. значения вернуть нада не наклиента,
а в другую процедуру ;-)
Yuvich (2002-06-06 14:05:00) [1]> Johnny Smith
Ну почему же? Функция возвращает все типы, поддерживаемые PL/SQL, в том числе и user defined, например типа ref cursor.
Johnny Smith (2002-06-05 15:11:00) [2]2PSERG (05.06.02 14:44)
Функция (причем не важно, в каком Оракле) на может возвращать иных значений, кроме Varchar, Number и Date...
PSERG (2002-06-05 14:44:00) [3]Если у тебя Oracle 8-9 то можно воспользоваться объектными типами и Nested Table. Если заинтересуешься напиши на мыло, раскажу подробнее.
Sergey13 (2002-06-04 11:52:00) [4]Так в процедуру курсор передать еще проще. В первой открыл, во второй прочитал. Но все это желательно делать в пакете. Проще.
Oleg_EM (2002-06-04 11:39:00) [5]да нет, мне нада в одной процедуре получать несколько значений из другой процедуры, передавая ей параметры, можно конечно и в одну процедуру все впихнуть, но не читаемо будет :-)
Илья_____ (2002-06-04 10:58:00) [6]Если нужно выводить данные в DBGrid, то можно из функции возвращать курсор. На ф-цию вешается TStoredProc, а на неё уже DBGrid. Я так обходил.... :)
Oleg_EM (2002-06-04 10:17:00) [7]2Johnhy Smith спасиба, идея понятна !
Johnny Smith (2002-06-04 10:07:00) [8]2Oleg_EM © (04.06.02 09:41)
Аналогичные вопросы встречаются довольно часто. Ответ один и тот же: механизма возврата набора строк из хранимой процедуры, аналогичного IB, в Оракле (да и в др. СУБД) нет.
Поэтому существует куча обходных путей.
Один из них - работа с пакетной переменной типа Table Of Record: она создается и заполняется одной процедурой пакета, а результаты из нее вытаскиваются селектом другой функции (функций) того же пакета.
Johnmen (2002-06-04 09:50:00) [9]Непонятно, в чем проблема то...
Описываешь параметры процедуры как OUT и все...