我有一个 SQL 查询
SELECT c,d FROM tableX where a='str' AND b=var1 ;
我想用变量替换 var1。我尝试使用 plpgsql。
CREATE OR REPLACE FUNCTION foo (var1 integer)
RETURNS TABLE (c integer, d varchar) AS
$BODY$
DECLARE
aa varchar = 'str';
BEGIN
RETURN QUERY EXECUTE
'SELECT c,d FROM tableX where a=aa AND b=@1' using var1;
END;
$BODY$
LANGUAGE plpgsql;
错误是
No operator matches the given name and argument type(s). You might need to add explicit type casts.