我有一个包含这段代码的过程
SELECT query INTO query FROM temp_table_test WHERE id = whateverId;
EXECUTE query;
我的查询变量将包含类似
的内容CALL Someprocedure (withSomeParameters)
我如何在第一个进程中使参数动态,因为它们可以随时更改,而我不能在变量中使它们静态?
在t-SQL中有
sp_executesql
但是由于我对postgres很陌生,我不知道从哪里开始。
假设您正在使用pl/pgsql,您可以使用using传递参数。条款;
EXECUTE query USING $1, $2, $3, ...;
例如,
query = 'SELECT SUM( "field_a" ) FROM "table" WHERE "field_b" = $1 AND "field_c" = $2';
EXECUTE query USING 5, 10;
this将等于:
SELECT SUM( "field_a" ) FROM "table" WHERE "field_b" = 5 AND "field_c" = 10;