同一语句中的INSERT和SELECT:
insert into table(a,b) values('a','b') ; select currval('table_pkey_id')
没什么特别的,看似简单明了..但是使用postgresql-9.3-1100.jdbc3.jar不能正常工作,会在主题中引发错误。
sql语句像往常一样使用pgadmin,返回插入行的id。 但是使用带有pg9 / java7的javam进行相同的查询,它会抛出错误,就像我在一个简单的insert语句中使用executeQuery一样。
stmt=cnn.createStatement(rst.TYPE_SCROLL_INSENSITIVE,rst.CONCUR_READ_ONLY);
stmt.executeQuery(sql);
org.postgresql.util.PSQLException:查询未返回任何结果。“
为什么上帝?!我想要并且需要解决这个问题,而不要破坏上面的2个sql语句。 在executeQuery实现中似乎是一个非常愚蠢的错误。
请反馈。感谢。
最大
答案 0 :(得分:0)
我认为你最好转到:
insert into table(a,b) values('a','b') RETURNING id;
现在所有受支持的PostgreSQL版本都支持RETURNING。