![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
Kizja |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 15.7.2007 Репутация: нет Всего: нет |
Я полный чайник в plsql, так что не бейте
![]() Скажите, как запустить функцию, написанную на plsql – ну т.е. протестировать, что возвращает ? Например, если у меня есть функция, которая возвращает тип VARCHAR2, то запускал её
А если у меня функция возвращает не VARCHAR2, а REF CURSOR, типа:
return_cur - это тип REF CURSOR То как мне её запустить? Т.е. как бы результатом является не 1 стринг, а много записей и в каждой несколько колонок. Запуская так же, как и предыдущий вариант, просто вываливается – наверное потому что „from dual“ предполагает только 1 значение или как? Вобщем, пожалуйста подскажите кто знает, как запустить! |
||||
|
|||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 2 Всего: 151 |
Вопрос хороший...
Наверное, можно сделать "внешнюю" процедуру, которая будет дергать эту, а потом пробегаться по возвращенному ею ResultSet'у, выводя результаты в консоль.
DUAL - это обычная таблица. Просто частенько её бывает удобно использовать, т.к. она имеет одну строку и один столбец. С тем же успехом ты мог протестировать свою первую функцию, введя в SQLPlus строку exec funkcija(). Ну а во втором случае возвращаемое значение просто невозможно неявно преобразовать в строковый тип. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Kizja |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 15.7.2007 Репутация: нет Всего: нет |
batigoal
Спасибо за ответ, а ты мог бы продемонстрировать как эта процедура могла бы выглядеть (хотя бы примерно) ? |
|||
|
||||
DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 23 Всего: 44 |
||||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 2 Всего: 151 |
Не понял твою мысль. Столбец в таблице один - DUMMY, ну а селектить из него константы и функции, можно, конечно, неограниченно. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 23 Всего: 44 |
||||
|
||||
Sqlninja |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 353 Регистрация: 15.5.2006 Где: San Francisco, CA Репутация: 13 Всего: 13 |
Kizja, а можно привести весь текст функции, которая возвращает ссылку на курсор? И для чего, по вашему, она предназначена?
вариант:
Это сообщение отредактировал(а) Sqlninja - 31.3.2008, 14:58 -------------------- It's better to burn out than to fade away. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Oracle" | |
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Oracle | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |