我是Postgres的新手,正在运行以下动态查询
EXECUTE 'Select * from products';
我收到了以下回复。
ERROR: syntax error at or near "'Select * from products'"
LINE 1: EXECUTE 'Select * from products';
我知道我可能忽略了一些基本的东西。
我是Postgres的新手,正在运行以下动态查询
EXECUTE 'Select * from products';
ERROR: syntax error at or near "'Select * from products'"
LINE 1: EXECUTE 'Select * from products';
我知道我可能忽略了一些基本的东西。
有plpgsql的EXECUTE
语句,可以执行你想要执行的SQL查询字符串。你标记了dynamic,所以这可能是你正在寻找的。
只能在plpgsql函数或DO
语句(匿名代码块)中使用。 在精细的手册中明确了EXECUTE
和SQL-EXECUTE
之间的区别:
如果您想从动态的注意: PL/pgSQL的
EXECUTE
语句与PostgreSQL服务器支持的EXECUTE
SQL语句无关。服务器的EXECUTE
语句不能直接在PL/pgSQL函数内使用(也不需要)。
SELECT
查询中返回值,就像您的示例所示,您需要创建一个函数。DO
语句总是返回void
。更多关于从函数中返回值的信息,请参考非常好的手册。