powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Курсор: как всё-таки заставить сделать FETCH PRIOR ?
3 сообщений из 3, страница 1 из 1
Курсор: как всё-таки заставить сделать FETCH PRIOR ?
    #34575009
вцспс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В теле функции:
DECLARE
rec record;
curs cursor FOR select * from mytable where myfield=$1;
BEGIN
open cus;
LOOP
...
END LOOP;

FETCH PRIOR FROM curs into rec;

Ругаемся на PRIOR. Ставим вместо PRIOR что угодно - ругаемся на что угодно.
Ставим вместо последней строки FETCH curs INTO rec - всё тихо и хорошо.

Что выходит, курсор нескроллируемый иначе как FETCH curs INTO rec ?
MOVE нас тоже неустраивает.

Попробовать добавить SCROLL в DECLARE-секции:
curs SCROLL cursor FOR select * from mytable where myfield=$1;
Строчка вызывает поток нецензурной брани.
Блин, всего-то задачка сдвинуться на запись назад. Что я делаю не так ?

P.S. Версия 8.2
...
Рейтинг: 0 / 0
Курсор: как всё-таки заставить сделать FETCH PRIOR ?
    #34577182
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cursor'ы в plpgsq и просто курсоры - это не одно и тоже, имхо

сравните
pgplsql
name CURSOR [ ( arguments ) ] FOR query;

и

DECLARE name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ]
CURSOR [ { WITH | WITHOUT } HOLD ] FOR query
[ FOR { READ ONLY | UPDATE [ OF column [, ...] ] } ]
...
Рейтинг: 0 / 0
Курсор: как всё-таки заставить сделать FETCH PRIOR ?
    #34578858
вцспс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон, забыл самое главное.
Имеется в виду хранимка на plpgsql.
Как всё-таки заставить его прочитать на запись назад ?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Курсор: как всё-таки заставить сделать FETCH PRIOR ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]