扩展参数信息,带有 IBM Data Server Driver for JDBC and SQLJ

IBM Data Server Driver for JDBC and SQLJ -只有方法和常量可以为您分配默认值或为表列或 ResultSet 列分配无值。

数据服务器必须支持扩展指标,然后才能在Java应用程序中使用提供扩展指标信息的方法。 如果对不支持扩展指示符的数据服务器调用其中一种方法,那么将抛出异常。 Db2 for z/OS® 版本10或更高版本支持扩展参数信息, Db2 在 Linux®、UNIX和Windows系统上支持版本 9.7 或更高版本。

提供扩展参数信息的方法列示在下表中。

扩展参数信息方法 用途
DB2PreparedStatement.setDBDefault, DB2PreparedStatement.setJccDBDefaultAtName 将输入参数设置为其缺省值。
DB2PreparedStatement.setDBUnassigned, DB2PreparedStatement.setJccDBUnassignedAtName 指示未分配输入参数。 如果输入参数未出现在 SQL 语句文本中,那么此操作将产生相同的行为。
DB2ResultSet.updateDBDefault 将当前 ResultSet 行中的列值设置为其缺省值。

这些方法仅适用于出现在下列其中一个位置的参数标记:

  • UPDATE 语句的 SET 列表
  • MERGE 语句的 SET 列表
  • INSERT 语句的 VALUES 列表
  • MERGE 语句的 VALUES 列表
  • MERGE 语句中的源表
  • SELECT 语句的 INSERT 的 SELECT 列表

如果在任何其他上下文中使用这些方法,那么会产生 SQLException

或者,您可以使用标准的 PreparedStatement.setObjectResultSet.updateObject 方法, IBM Data Server Driver for JDBC and SQLJ -仅使用常量 DB2PreparedStatement.DB_PARAMETER_DEFAULTDB2PreparedStatement.DB_PARAMETER_UNASSIGNED 来为参数指定默认值或无值。

扩展参数信息可以简化具有多个输入变量的应用程序,每个输入变量都可以向数据服务器发送一个值或缺省值,或者不需要出现在 SQL 语句中。 您可以准备单个语句字符串,而不是为变量值的所有组合准备单独的语句字符串。 生成的 PreparedStatement 对象可以在同类批处理中使用,而不能在同类批处理中使用多个不同的 PreparedStatement 对象。