![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить набор данных из процедуры в Оракле 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
Через пакетнуюпроцедуру.