CftClub.ru
Клуб специалистов ЦФТ-Банк

Передача параметров в курсор

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
Emel
Участник со стажем


Вступление в Клуб: 02.07.2007
СообщениеСр Фев 01, 2012 08:54   Передача параметров в курсор Ответить с цитатой
Полезность: Нет оценки
Добрый день !

Вопрос -> Как в курсор передать параметры.

Пробовал так
Код:

type cur_bs ( P_D in date) is
           ----------------
select ac(ac.[DATE_OP]:DATE_OP
) in ::[AC_FIN]
where ac.[DATE_OP] = P_D
;

Выдает ошибку синтаксиса.
Как правильно передать параметры в курсор.


Спасибо!
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеСр Фев 01, 2012 10:17   Re: Передача параметров в курсор Ответить с цитатой
Полезность: Нет оценки
Emel пишет:
Как правильно передать параметры в курсор.

Хотя в pl/sql и есть курсоры с параметрами, однако в PL/PLUS они не поддерживаются.
Передать параметры можно только если объявить переменные с областью видимости той же, что и курсор, в котором они будут использоваться.

Изменил переменные - открыл курсор.
Только так.

Пример:
Код:

declare
L_D date;
type cur_bs is
select ac(ac.[DATE_OP]:DATE_OP
) in ::[AC_FIN]
where ac.[DATE_OP] = L_D
;
cur$ cur_bs
begin
L_D := sysdate;
cur$.open;
loop
cur$.fetch(...);
exit when cur$%notfound;
end loop;
cur$.close;
end;
 


PS: Мне тоже неудобно.
Emel
Участник со стажем


Вступление в Клуб: 02.07.2007
СообщениеСр Фев 01, 2012 10:48    Ответить с цитатой
Полезность: Нет оценки
Спасибо за ответ!

Я так и делал Но случайно увидел
курсор в PL/SQL и хотел так сделать на плюсе.
Жаль было бы очень красиво

Еще раз спасибо
alexiy
Профи


Вступление в Клуб: 29.06.2007
СообщениеЧт Фев 02, 2012 08:10    Ответить с цитатой
Полезность: Нет оценки
Emel пишет:
Жаль было бы очень красиво

+1
_________________
two bee or not two bee
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеЧт Фев 02, 2012 09:39   Re: Передача параметров в курсор Ответить с цитатой
Полезность: Нет оценки
Random пишет:
Хотя в pl/sql и есть курсоры с параметрами, однако в PL/PLUS они не поддерживаются.
Передать параметры можно только если объявить переменные с областью видимости той же, что и курсор, в котором они будут использоваться.


А через replace и динамический SQL ? (если уж очень неудобно Smile )
alexiy
Профи


Вступление в Клуб: 29.06.2007
СообщениеЧт Фев 02, 2012 09:52   Re: Передача параметров в курсор Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
А через replace и динамический SQL ? (если уж очень неудобно Smile )

типа: "туалетной бумаги нет, возьмите наждачную"?... Smile
_________________
two bee or not two bee
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеЧт Фев 02, 2012 11:58   Re: Передача параметров в курсор Ответить с цитатой
Полезность: 1
vtar пишет:
А через replace и динамический SQL ? (если уж очень неудобно Smile )


Проще объявить курсор в функции с параметрами, и возвращать ref cursor
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru