2013-02-15 131 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