我需要从 DB2 序列中获取下一个值。这是我尝试过的一种方法
stmt = con.createStatement();
rs = stmt.executeQuery("db2 VALUES NEXTVAL FOR <sequence_name>");
rs.close();
stmt.close();
Run Code Online (Sandbox Code Playgroud)
我得到的错误如下:
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)
Run Code Online (Sandbox Code Playgroud)
如何从序列中检索下一个值?
自己设法解决了这个问题。
stmt = con.createStatement();
rs = stmt.executeQuery("VALUES NEXTVAL FOR <sequence_name>");
rs.close();
stmt.close();
Run Code Online (Sandbox Code Playgroud)
基本上db2查询字符串中的前面是导致问题的原因。删除它并能够获得序列值。
| 归档时间: |
|
| 查看次数: |
6081 次 |
| 最近记录: |