CONCURRENTACCESSRESOLUTION 绑定选项

CONCURRENTACCESSRESOLUTION选项指定了包中的语句使用的并发访问分辨率选项。

命令选项 选项价值 搭配
CONCURRENTACCESSRESOLUTION
  • (WAITFOROUTCOME)
  • (USECURRENTLYCOMMITTED)
注:
  1. 并发访问解决绑定选项不适用于本地SQL程序包高级触发器的重新绑定。

选项说明 CONCURRENTACCESSRESOLUTION

CONCURRENTACCESSRESOLUTION(USECURRENTLYCOMMITTED)
规定当读取事务需要访问被INSERT或DELETE操作锁定的行时,数据库管理器可以访问当前已提交行(如果存在),并继续访问下一行。 读取事务无需等待插入或删除操作提交。 当隔离级别为光标稳定性或读取稳定性时,适用本条款。

在以下情况下,如果为某个包指定了 USECURRENTLYCOMMITTED,则改为使用 WAITFOROUTCOME 行为:

  • 程序包运行所在的表格空间不是通用表格空间。
  • 正在选择XML数据,且该数据不支持多个XML版本。 在这种情况下, Db2 数据库管理员无法确定数据是否已提交。
CONCURRENTACCESSRESOLUTION(WAITFOROUTCOME)
规定当读取事务需要访问被INSERT或DELETE操作锁定的行时,读取事务必须等待COMMIT或ROLLBACK操作完成。

默认值 CONCURRENTACCESSRESOLUTION

进程 缺省值
绑定服务 NONE
绑定计划 NONE
绑定程序包 现有值
重新绑定计划 现有值
重新绑定程序包 NONE
重新绑定触发器包 NONE

下表列出了 Db2 如何根据 CONCURRENTACCESSRESOLUTION 选项和 SKIPUNCI 子系统参数设置的不同组合处理未提交的 INSERT 操作。 对于未提交的 DELETE 操作,如果未指定 CONCURRENTACCESSRESOLUTION 选项,则适用 WAITFORDATA 选项行为。

表 1. Db2 SKIPUNCI 子系统参数和 CONCURRENTACCESSRESOLUTION 绑定选项组合的行为
SKIPUNCI 价值 并发访问解决值 结果行为
YES 目前正在进行中 跳过未完成的插入
YES WaitForOutcome 等待提交或回滚
YES 未指定 跳过未完成的插入
目前正在进行中 跳过未完成的插入
WaitForOutcome 等待提交或回滚
未指定 等待提交或回滚