Я создаю процедуры в Redshift. Я хочу добавить оператор выбора, чтобы проверить результаты перед оператором END, но он не работает.
Это прекрасно работает:
CREATE OR REPLACE PROCEDURE my_procedure()
LANGUAGE plpgsql
AS $$
BEGIN (a whole bunch of select into statements)
commit;
END;
$$;
Но когда я использую "select count (*) cnt from table" после коммита, я получаю ошибку, такую как
" COMMIT не может быть вызвано из процедуры, которая выполняется в контексте atomi c "
. Я знаю, что могу создать my_procedure (текущий refcursor), который работает без фиксации, но я не смог получить для работы с коммитом:
open current for select count(*) cnt from table_name;
Кажется, SQL Сервер возвращает операторы select при выполнении вставок. Как это сделать в Redshift?