Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить набор данных из процедуры в Оракле 8.1.7 [D6, Win2k]


}|{yk ©   (2004-09-14 13:29:00) 

REF CURSOR есть только в 9-ке. Можно сделать
dbms_output, но как потом считать (пользуюсь ODAC)
Можно выбрасывать во временную таблицу, но это некрасиво


Sergey13   (2004-09-14 14:07:00) [1]

А вот вариант из моих запасников (из форума какого то, но проверял - работает)

Create Type Test_Row_Type
As Object (F1 Varchar2(500), F2 Number(17));
Create Type Test_Type Is Table Of Test_Row_Type;

CREATE OR REPLACE function get_test return Test_Type
AS
Test_Tab Test_Type := Test_Type( Test_Row_Type( Null, Null ) );
counter number := 0;
b_First Boolean := TRUE;
Begin
for n in 1..100 loop
If b_First Then
b_First := FALSE;
Else
test_Tab.Extend;
End If;
Test_Tab( Test_Tab.Last ) := Test_Row_Type('Всякая фигня...', n);
end loop;
return Test_Tab;
End;

Select * From Table( Cast( GET_TEST() As Test_Type ) );


roottim   (2004-09-14 13:43:00) [2]

>REF CURSOR есть только в 9-ке. Можно сделать
увы уже непомню...
> dbms_output
он ограничен по разсмеру, лесть в доки лень
> Можно выбрасывать во временную таблицу, но это некрасиво
Можно, если очень нужно...

а что вообще без курсора с процедуры необойтись? это ведь тоже не особо красиво


Sergey13   (2004-09-14 13:37:00) [3]

>REF CURSOR есть только в 9-ке.
Это не так, вроде.

>Как получить набор данных из процедуры в Оракле 8.1.7
Через пакетнуюпроцедуру.


Наверх

Титульная страница Поиск, карта сайта Написать письмо