如何在PostgresSQL脚本中执行动态SQL语句

如何在PostgresSQL脚本中执行动态SQL语句,sql,postgresql,dynamic,execute,Sql,Postgresql,Dynamic,Execute,下面是我的脚本。我使用Execute命令来运行我创建的动态sql语句,但它没有运行并给出输出。它也没有给出错误。如何在postgres sql脚本中运行此sql语句 DO $$ DECLARE sqlCommand varchar(1000); columnList varchar(75); BEGIN select '"BRANCH_NAME", "ADDRESS1"' into columnList; select concat('SELECT ' , columnList , '

下面是我的脚本。我使用Execute命令来运行我创建的动态sql语句,但它没有运行并给出输出。它也没有给出错误。如何在postgres sql脚本中运行此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 $$;

您的示例是安全的,但是如果您处理的是用户输入,请始终使用
format
函数来构造SQL字符串

无论如何,您的问题是
EXECUTE
语句没有带查询结果目标的
INTO
子句,因为它们只是被丢弃