Как выполнить динамический оператор c SQL внутри сценария Postgres sql - PullRequest
0 голосов
/ 12 февраля 2020

Ниже мой сценарий. Я использовал команду Execute для запуска оператора динамического c sql, который я создал, но он не запускается и выдает результат. Это тоже не дает ошибки. Как запустить этот оператор sql внутри сценария postgres sql?

DO $$
DECLARE sqlCommand varchar(1000);
 columnList varchar(75);

BEGIN
select  '"BRANCH_NAME", "ADDRESS1"' into columnList;

select concat('SELECT ' , columnList , ' FROM "TESTSCHEMA"."BRANCH" ')  into sqlCommand;

raise info 'COMMAND %', sqlCommand;
execute sqlCommand;

END $$;

1 Ответ

0 голосов
/ 12 февраля 2020

Ваш пример безопасен, но если вы имеете дело с пользовательским вводом, всегда используйте функцию format для создания строки SQL.

В любом случае, ваша проблема в том, что оператор EXECUTE имеет нет INTO предложения с местом назначения для результатов запроса, так как они просто отбрасываются.

...