我想执行一个动态SQL语句,该语句搜索姓氏始终为常量且名字是变量的名称。 这是我编写的一个查询,用于选择名称为'测试姓氏'的行。
EXECUTE 'SELECT name FROM users
WHERE name=$1 lastname'
USING ('Test');
这会产生语法错误。有可能这样做吗?
答案 0 :(得分:1)
我认为你需要这样的东西:
EXECUTE 'SELECT user_id FROM users
WHERE name=$1'
USING Test||' lastname' ;
此处Test
是变量,'lastname'是硬编码值
另一种方式是@JorgeCampos提到:
...WHERE name=$1 || '' lastname''' USING 'Test';