如果准备好的语句中的占位符是 0
,我想获取 db2
序列的下一个值。我怎样才能做到这一点 。
PreparedStmt.setLong(1, attributeID);
因此,如果 attributeID
为 0
,我想从序列中获取下一个值,否则我使用属性 ID 。
我尝试使用
PreparedStmt.setObject(1, attributeID > 0 ? attributeID : next val for my seq);
但这不起作用!
最佳答案
这很简单,只需获取序列,就像使用executeQuery() 方法获取结果集一样。那么select语句就是:
SELECT SEQ_NAME.NEXTVAL FROM SYSIBM.SYSDUMMY1
另一部分是if语句。这就是您需要做的全部。
关于java - 在 Java 预准备语句中使用 DB2 序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27711496/