Как написать скрипт вместо функции в pl / pgsql?

#scripting #plpgsql

#написание сценариев #plpgsql

Вопрос:

Я знаю, как определять функции в pl / pgsql … но (в целях тестирования) Теперь я хотел бы написать pl / pgsql в виде скрипта. (То есть код не должен быть заключен в функцию.) Почему-то это кажется невозможным. Я получаю синтаксические ошибки для вещей, которые, как я знаю, являются правильными (внутри pl / pgsql-функции), например:

 declare v_test character varying;
  

Даже этот простой однострочный скрипт терпит неудачу.

Как я могу написать скрипт на pl / pgsql?

Ответ №1:

Анализатор PostgreSQL не поддерживает PLpgSQL. PLpgSQL может быть проанализирован (выполнен) только внутри функций (процедур) или внутри анонимного блочного оператора DO

 DO $$
DECLARE x int DEFAULT 10;
BEGIN
  RAISE NOTICE '%', x;
END;
$$;
  

Другой возможности нет.