| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 |