Форум: "Базы";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
Вниз
Как получить набор данных из процедуры в Оракле 8.1.7 Найти похожие ветки
← →
}|{yk © (2004-09-14 13:29) [0]REF CURSOR есть только в 9-ке. Можно сделать
dbms_output, но как потом считать (пользуюсь ODAC)
Можно выбрасывать во временную таблицу, но это некрасиво
← →
Sergey13 © (2004-09-14 13:37) [1]>REF CURSOR есть только в 9-ке.
Это не так, вроде.
>Как получить набор данных из процедуры в Оракле 8.1.7
Через пакетную процедуру.
← →
roottim © (2004-09-14 13:43) [2]>REF CURSOR есть только в 9-ке. Можно сделать
увы уже непомню...
> dbms_output
он ограничен по разсмеру, лесть в доки лень
> Можно выбрасывать во временную таблицу, но это некрасиво
Можно, если очень нужно...
а что вообще без курсора с процедуры необойтись? это ведь тоже не особо красиво
← →
Sergey13 © (2004-09-14 14:07) [3]А вот вариант из моих запасников (из форума какого то, но проверял - работает)
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 ) );
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c