Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.07.01;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.035 c
1-968
MikeFW
2002-06-20 09:17
2002.07.01
Два TreeView. Как переносить данные из одного дерева в другое


14-1204
Olivka
2002-05-31 20:32
2002.07.01
Дистрибутив ИЕ


1-1089
don_dampster
2002-06-19 09:01
2002.07.01
Реестр


3-856
Oleg_EM
2002-06-04 09:41
2002.07.01
Как вернуть несколько значений из процедуры/функции в ?


3-928
Proton
2002-05-25 23:59
2002.07.01
SQL запрос





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский