在postgreSQL中添加动态执行参数



我有一个包含这段代码的过程

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;

最新更新