Во-первых, я понимаю, что курсоры неэффективны, но мне они нужны в моем конкретном случае.
В AWS Redshift у меня есть следующий код:
BEGIN;
DECLARE newCursor CURSOR FOR SELECT * FROM DBFoo.TableBar;
FETCH NEXT FROM newCursor;
CLOSE newCursor;
Я получаю следующую ошибку:
Amazon Недопустимая операция: DECLARE CURSOR можно использовать только в блоках транзакций;
С НАЧАЛА; непосредственно предшествует DECLARE newCursor CURSOR Я не понимаю, почему он не работает или как заставить его работать
edit: я подключаюсь к Redshift через Datagrip. Это совершенно новая сессия. Если я объявлю курсор до того, как BEGIN также завершится ошибкой, потому что для этого требуется блок транзакции
psql
, программно или каким-то инструментом?). - person Parsifal   schedule 26.03.2021