Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Oracle > Функция-record |
Автор: setnull 5.3.2009, 17:09 |
Все здравствуйте! Вопрос. Есть функция, возвращающая RECORD. Как ее запросить из явы, чтоб вернулся набор данных, состоящий из одной строки? Спасибо! |
Автор: v2v 5.3.2009, 23:20 |
Написать обёрточную функцию , которая принимает Тип RECORD и преобразует в строку. |
Автор: setnull 6.3.2009, 09:25 | ||
Спасибо. Была такая идея. Не катит. Таких функций очень много. Я имею ввиду как-то в запросе преобразовать можно, как PIPELINED? как-то так
|
Автор: Deniel_li 6.3.2009, 12:40 |
можно или через объектные типы или при помощи ref cursor |
Автор: Deniel_li 6.3.2009, 13:21 |
что-то вроде create type numset_t as table of number; / create function f1(x number) return numset_t pipelined is begin for i in 1..x loop pipe row(i); end loop; return; end; / -- pipelined function in from clause select * from table(f1(3)); |
Автор: setnull 11.3.2009, 10:26 | ||
Так сдесь же не запись возвращается, а PIPELINED.... а я имел ввиду каким образом результат РЕКОРДОВЫЙ представить в виде PIPELINED (с одной строкой)?... Ладно.... а как из явы запросить результат РЕКОРДОВОЙ функции?
Можно ее как-нить в HashMap, скажем, отобразиьт? |
Автор: LSD 11.3.2009, 12:00 |
Никак. Тип RECORD не имеет представления в JDBC. |
Автор: VOS 12.3.2009, 16:58 |
Попробуйте так ![]() select my_func(param) from dual |