如何在plpgsql中安全地连接查询字符串?

时间:2014-02-27 05:30:11

标签: postgresql concatenation plpgsql dynamic-sql

例如:

查询1

abc:='select * from table1'; 

QUERY2

result:='create view'||quote_ident(view1)||'as'||abc;  

1 个答案:

答案 0 :(得分:3)

我会猜测并假设您正在尝试使用动态SQL来创建视图。

如果是,请使用EXECUTE声明。

abc    := 'select * from table1';
result := 'create view '||quote_ident(view1)||' as ' || abc;  
EXECUTE result;

假设view1text参数,您的查询文本看起来没问题,但缺少的空格除外。

(将来:包括任何错误消息的PostgreSQL版本,确切文本,您正在使用的完整代码等)。