如何在函数声明中将“EXECUTE sql_string”更改为“RETURN QUERY”,但是必须使用where数组。
换句话说,如何改变这个
p_sql := 'SELECT *
FROM tbl
WHERE ' || array_to_string(where_arr, ' AND ');
FOR item IN EXECUTE p_sql
LOOP
RETURN NEXT item;
END LOOP;
到这个
RETURN QUERY
SELECT *
FROM tbl
WHERE || array_to_string(where_arr, ' AND '); -- this is the place
我希望我的编辑器(phpstorm,notepad ++)将SQL视为SQL而不是字符串。
答案 0 :(得分:0)
return query execute $$
select *
from tbl
where $$ || array_to_string(where_arr, ' and ');