2013-02-15 130 views
0

我使用PostgreSQL的函数query_to_xml函数来生成查询结果的XML。在PostgreSQL中使用query_to_xml和预处理语句

SELECT * FROM query_to_xml('SELECT * from some_table WHERE id = ?',true,false,'') 

问题是,当我从JDBC中使用它时,准备好的语句中的'?'被忽略,所以Postgres说:

"The column index is out of range..." 

是否有任何可能的解决方案传递参数到这样的查询?

回答

2

尝试移动字符串文字外?

SELECT * FROM query_to_xml('SELECT * from some_table WHERE id = '||?,true,false,'') 
+0

感谢,这工作了!我想,即使我需要一个ORDER BY,我可以通过||连接它? – kosta 2013-02-15 15:26:48

+0

我想你会写:'..WHERE id ='||?||' ORDER BY ...',true,...', – 2013-02-15 15:54:15