java - 在 Java 预准备语句中使用 DB2 序列

标签 java jdbc db2

如果准备好的语句中的占位符是 0 ,我想获取 db2 序列的下一个值。我怎样才能做到这一点 。

PreparedStmt.setLong(1, attributeID);

因此,如果 attributeID0,我想从序列中获取下一个值,否则我使用属性 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/

相关文章:

java - driver.close 在 testng 中不起作用

java - 在 Java 中适用时使用 "final"修饰符

java - Oracle 是否支持通过 JDBC 的服务器端可滚动游标?

java - NamedParameterJdbcTemplate - 从中​​选择 *

java - 当值发生变化时,面板上的组件如何向面板外的其他组件发出警报?

java - 需要更简单的 Java/SQL 数据传输

ruby-on-rails - 使用 Ruby on Rails 设置 DB2 数据库

c# - 如何使用 .net 为 DB2 的 sql 语句定义终止符

db2 - IBM DB2 ODBC 驱动程序 64 位无法加载

java - 获取 mediaMetadataRetriever.setDataSource 抛出非法参数异常