Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
 fb3. for execute statement и as cursor  [new]
серый-серый ник
Guest
Дока утверждает что "Оператор FOR EXECUTE STATEMENT используется (по аналогии с конструкцией FOR
SELECT) для операторов SELECT или EXECUTE BLOCK, возвращающих более одной строки."
Для for select при этом допустимы необьявленные курсоры, а для for execute statement почему-то нет.
Пример: это работает
for select T.F1, T.F2, .. T.Fn from TABLE T
as cursor c do
begin
...
end

, а это
for execute statement('T.F1, T.F2, .. T.Fn from TABLE T')
as cursor c do
begin
...
end

уже нет
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line x, column 6.
cursor


Собстна вопрос - дока не договаривает или бага?
12 сен 17, 01:28    [20788586]     Ответить | Цитировать Сообщить модератору
 Re: fb3. for execute statement и as cursor  [new]
Старый плюшевый мишка
Member

Откуда:
Сообщений: 197
серый-серый ник,
кто-то не договаривает слово select.
12 сен 17, 01:49    [20788600]     Ответить | Цитировать Сообщить модератору
 Re: fb3. for execute statement и as cursor  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 57239
Я вообще не припомню, чтобы ES поддерживал as cursor.

Posted via ActualForum NNTP Server 1.5

12 сен 17, 08:21    [20788735]     Ответить | Цитировать Сообщить модератору
 Re: fb3. for execute statement и as cursor  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 7277
серый-серый ник,

а разве а документации написано что for execute statement ... as cursor должен работать?
Нет не написано, значит не должен. :)

Да и если логически рассудить тип (внутренние поля) курсора определяются на этапе prepare или компиляции ХП чего не возможно с динамическим построением SQL
12 сен 17, 09:18    [20788902]     Ответить | Цитировать Сообщить модератору
 Re: fb3. for execute statement и as cursor  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 26552
серый-серый ник,

господи, какую хрень люди придумывают ...
13 сен 17, 17:57    [20793593]     Ответить | Цитировать Сообщить модератору
 Re: fb3. for execute statement и as cursor  [new]
Старый плюшевый мишка
Member

Откуда:
Сообщений: 197
kdv
серый-серый ник,

господи, какую хрень люди придумывают ...


Это движущая сила прогресса.
13 сен 17, 20:12    [20793902]     Ответить | Цитировать Сообщить модератору
 Re: fb3. for execute statement и as cursor  [new]
серый-серый ник
Guest
kdv
господи, какую хрень люди придумывают ...

В чём хрень? В желании идентичных удобств пусть в разных формально, но при этом крайне схожих (идентичных реально) вариантах использования?
Ну да, мне лень декларить переменные тока для резалтсета, который тут же отправиться в инсерт. И мне паралельно что этот резалсет придёт из другой БД. А задекларить свой сферический курсор в вакууме не предусмотрено для подобного контекста.
14 сен 17, 02:01    [20794270]     Ответить | Цитировать Сообщить модератору
Все форумы / Firebird, InterBase Ответить