IBM大型机论坛索引
 
登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答 寄存器
 

在UPDATE语句中跳过锁定的数据


IBM大型机论坛 -> DB2
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
穆拉里·塞图拉姆

新的用户


已加入:2020年12月23日
帖子:4
所在地:美国

发布发表于:2020年12月23日,星期三10:02 pm
引用回复

将此子句与UPDATE语句一起使用会偶尔跳过Timestamp列。有没有人注意到这一点或有解决方案来防止这种情况发生?
我的查询
码:

UPDATE表
     SET col1_TS =当前时间戳
             col2_ind = :value1
 WHERE  col3 = :value2
       and col4 = :value3
跳过锁定的数据

编码给你
回到顶部
查看用户资料 发送私信
罗希特·乌马尔吉卡(Rohit Umarjikar)

全球主持人


已加入:2010年9月21日
帖子:2575
地点:美国纽约

发布发表于:2020年12月23日星期三晚上11:32
引用回复

如果行被其他进程锁定,则应跳过该行。那不是吗?
回到顶部
查看用户资料 发送私信
穆拉里·塞图拉姆

新的用户


已加入:2020年12月23日
帖子:4
所在地:美国

发布发表于:2020年12月23日,星期三11:48 pm
引用回复

Col1仍为'0001-01-01-00.00.00.000000'
Col2得到更新。

不知道是最近对SKIP LOCKED DAT子句所做的更改还是其他问题。
回到顶部
查看用户资料 发送私信
罗希特·乌马尔吉卡(Rohit Umarjikar)

全球主持人


已加入:2010年9月21日
帖子:2575
地点:美国纽约

发布发表于:2020年12月24日,星期四12:56上午
引用回复

您没有得到语法错误,因为SET中的两列之间缺少','吗?
回到顶部
查看用户资料 发送私信
穆拉里·塞图拉姆

新的用户


已加入:2020年12月23日
帖子:4
所在地:美国

发布发表于:2020年12月24日,星期四1:01上午
引用回复

没有语法错误。
只是col2_ind得到更新,而col1_TS没有得到CURRENT TIMESTAMP更新。
保留插入值'0001-01-01-00.00.00.000000'
回到顶部
查看用户资料 发送私信
罗希特·乌马尔吉卡(Rohit Umarjikar)

全球主持人


已加入:2010年9月21日
帖子:2575
地点:美国纽约

发布发表于:2020年12月24日,星期四2:01
引用回复

然后添加“,”,应该可以。对我来说,这是IBM的WAD。当我不给出单引号时,我对char字段也看到了类似的反应。
回到顶部
查看用户资料 发送私信
穆拉里·塞图拉姆

新的用户


已加入:2020年12月23日
帖子:4
所在地:美国

发布发表于:2020年12月24日,星期四3:15上午
引用回复

SET上的逗号-我错过了我为什么在论坛上键入后-实际代码是否包含-肯定会出现语法错误。

只是其中一列正在更新,而另一列则没有。
回到顶部
查看用户资料 发送私信
罗希特·乌马尔吉卡(Rohit Umarjikar)

全球主持人


已加入:2010年9月21日
帖子:2575
地点:美国纽约

发布发表于:2020年12月24日,星期四3:52上午
引用回复

尝试在没有“跳过锁定数据”的情况下进行更新,如果可以,请与DBA联系。
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


已加入:2007年3月14日
帖子:10715
所在地:意大利

发布发表于:2020年12月24日,星期四4:30上午
引用回复

在更新语句上跳过锁定的数据是相当周到的

您最终将获得不一致的部分更新,并且可能为时已晚,您可能会知道

从IBM手册中

引用:
跳过锁定的数据子句指定当其他事务在行上保留会阻塞语句进度的不兼容锁时,将跳过行。这些行可以属于该语句中指定的任何已访问表。跳过锁定数据只能与隔离CS或RS一起使用,并且仅适用于行级或页级锁。


引用:
如果在有效的隔离级别是可重复读取(WITH RR)或未提交读取(WITH UR)时指定了“跳过锁定数据”,则将其忽略。语句的默认隔离级别取决于与该语句绑定的包或计划的隔离级别,以及结果表是否为只读。
回到顶部
查看用户资料 发送私信
罗希特·乌马尔吉卡(Rohit Umarjikar)

全球主持人


已加入:2010年9月21日
帖子:2575
地点:美国纽约

发布发表:2020年12月28日星期一8:47 am
引用回复

跳过锁定的数据
引用:
关于此任务
使用“跳过锁定的数据”选项,当一个事务将阻碍其他事务的进行时,这些事务将跳过由其他事务不兼容地锁定的行。由于“跳过锁定数据”选项跳过了这些行,因此可以通过消除锁定等待时间来提高某些应用程序的性能。但是,必须仅对可以合理地容忍返回的数据中不存在跳过的行的应用程序使用“跳过锁定的数据”选项。如果您的事务使用“跳过锁定的数据”选项,则它不会读取或修改锁持有的数据。

但是,请记住,您的应用程序不能依靠Db2跳过所有持有锁的数据。 Db2仅跳过使用SKIP LOCKED DATA选项会阻止事务进度的锁定数据。如果Db2通过锁定避免确定已提交锁定数据,则不会跳过锁定数据。相反,无需等待锁就返回数据。

在您看来,col1_TS似乎在发布此更新并使其以低日期时间戳记值进行更新时完全在同一时间被其他进程锁定。如果您与DBA共享此内容,那么他​​们可能会查看该线程并为您提供有关它的更多详细信息。
如果找到合适的地方,请与他人分享,以便将来对其他人有帮助。
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> DB2

 


类似主题
话题 论坛 回覆
没有新帖 比较两个文件以查找位置/日期... 同步排序 2
没有新帖 加载D ...时二级索引错误 IMS数据库/ DC 2
该主题已锁定:您无法编辑帖子或回复。 将JCL连接到DD站点的一个记录中... 同步排序 2
没有新帖 如何查找哪个文件包含我的文件... DFSORT / ICETOOL 6
没有新帖 两个文件之间的组比较/更新 DFSORT / ICETOOL 10
搜索我们的论坛:

回到顶部