DSQL. Fetch cursor

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
mwoland

DSQL. Fetch cursor

Сообщение mwoland »

В direct SQL создаю хранимую функцию "SQL FUNCTION ...". Объявляю в ней курсор "DECLARE CURSOR...". Открываю курсор, выбираю в нем первую запись "FETCH NEXT...". Как узнать, о результате выполнения FETCH? На @@FETCH_STATUS ругается, т.к. запрос жестко парсится (от этой псевдо "мультиплатформенности" одни проблемы).
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: DSQL. Fetch cursor

Сообщение Den »

mwoland писал(а):На @@FETCH_STATUS ругается
конечно будет ругаться на эту фишку )
"
В хранимых процедурах и функциях доступны глобальные переменные:

<global-variables> = #NOTFOUND | #OK | #ROWCOUNT
#NOTFOUND - статус операции FETCH, когда больше нет записей в выборке. Тип: булевский.

#OK - статус операции FETCH, когда данные были успешно выбраны. Тип: булевский.

#ROWCOUNT - количество записей в курсоре. Можно применять для получения количества записей. Тип: целое число.

Эти глобальные переменные реализованы в драйвере Oracle только для неявных курсоров.

"
Ну вроде как можно проверять на статусы...но видимо только для оракла )
Я как то пинал под скуль , но быстро бросил... что то вроде
if (FETCH NEXT FROM curtest INTO c10)=#OK

так как компилятор не пропускал такую конструкцию

а вообще курсоры в dsql это зло ) не для того он был придуман чтобы на курсоры "скатываться"...как то уж крайний случай совсем тока если
Ответить