开发学院数据库DB2 在 DB2 V9 for z/OS 中通过类型 2 连接支持多行获... 阅读

在 DB2 V9 for z/OS 中通过类型 2 连接支持多行获取

 2010-02-05 00:00:00 来源:WEB开发网   
核心提示: 结束语使用多行获取 (MRF),您可以获得比使用 FETCH 语句每次获取一行更佳的性能,在 DB2 V9 for z/OS 中通过类型 2 连接支持多行获取(5),本文帮助您理解了 MRF 及其使用方式,此外,您可以采取以下措施之一:使用可更新的 ResultSet 一次仅获取和 UPDATE

结束语

使用多行获取 (MRF),您可以获得比使用 FETCH 语句每次获取一行更佳的性能。本文帮助您理解了 MRF 及其使用方式。此外,还通过一个简单的样例 Java 程序演示如何在 Java 程序中设置 MRF,并解释如何确定是否使用了 MRF。

多行定位 UPDATE 或 DELETE

IBM Data Server Driver for JDBC and SQLJ 支持执行遵循 JDBC 1 标准的定位 UPDATE 或 DELETE 操作。对于行集游标,JDBC 1 定位更新语法必须知道行集的存在。该语法必须遵循以下格式:

update table set.... where current of cursor for row N of rowset

如果应用程序想要使用 JDBC 1 定位 UPDATE 操作,那么它必须构建正确定位的 UPDATE/DELETE 语句。

不过,当前的 t2zos 应用程序仍然使用 JDBC 1 定位 UPDATE 语句,其遵循的格式如下:

update table set....where current of cursor

因此,行集支持导致不同的行为。UPDATE 影响整个行集,而不是单个行。因此,t2zos 行集支持的默认设置为 false(见 新连接属性 小节)。

该技术涉及到使用 ResultSet.getCursorName 方法为 ResultSet 获取游标的名称,以及按照以下格式定义定位 UPDATE 或定位 DELETE 语句:

UPDATE table SET col1=value1…coln=valueN WHERE CURRENT OF cursorname

DELETE FROM table WHERE CURRENT OF cursorname

如果您使用 JDBC 1 技术对支持多行获取的数据源中的数据执行 UPDATE 或 DELETE 操作,定位 UPDATE 或 DELETE 语句可能 UPDATE 或 DELETE 多个行,尽管您可能希望它仅 UPDATE 或 DELETE 单个行。

要避免意外的 UPDATE 或 DELETE 操作,您可以采取以下措施之一:

使用可更新的 ResultSet 一次仅获取和 UPDATE 一个行。

在 UPDATE 或 DELETE 语句中使用 FOR ROW n OF ROWSET 子句, 以识别需要执行 MODIFY 或 DELETE 操作的特定行。

上一页  1 2 3 4 5 

Tags:DB for OS

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接