如何在PostgresSQL脚本中执行动态SQL语句
下面是我的脚本。我使用Execute命令来运行我创建的动态sql语句,但它没有运行并给出输出。它也没有给出错误。如何在postgres sql脚本中运行此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 , '
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
子句,因为它们只是被丢弃