我需要從DB2序列中獲取下一個值。這是一個方法我試過DB2使用Java的序列值
stmt = con.createStatement();
rs = stmt.executeQuery("db2 VALUES NEXTVAL FOR <sequence_name>");
rs.close();
stmt.close();
我得到的錯誤如下:
com.ibm.db2.jcc.c.SqlException: [ibm][db2][jcc][10103][10941] Method executeQuery cannot be used for updates.
at com.ibm.db2.jcc.c.qh.a(qh.java:2390)
at com.ibm.db2.jcc.c.qh.a(qh.java:1751)
at com.ibm.db2.jcc.c.qh.a(qh.java:478)
at com.ibm.db2.jcc.c.qh.executeQuery(qh.java:462)
at test.pack.SequenceConn.getNextSequenceValue(SequenceConn.java:59)
at test.pack.SequenceConn.main(SequenceConn.java:22)
我怎樣才能檢索順序的下一個值?
感謝您的提示!嘗試一下,並偶然發現了下一個錯誤:com.ibm.db2.jcc.c.SqlException:DB2 SQL錯誤:SQLCODE:-104,SQLSTATE:42601,SQLERRMC:END-OF-STATEMENT; READ FOR; 。很快嘗試谷歌解決方案,但迄今尚未找到。 –
Jayp
2013-02-12 12:34:08
@Jayp:不要在Java的SQL字符串中包含';'。並且每次調用'executeQuery()'只執行一條SQL語句。 – 2013-02-12 12:45:21
這個字符串和上面的哈維完全一樣。 – Jayp 2013-02-12 12:46:42