大佬教程收集整理的这篇文章主要介绍了使用 PostgtreSQL 中的子查询更新 - 并发问题,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我需要将 stage
的 rule
更改为 REVIEW
。但同时在 REVIEW
中只能有 3 个开启的规则。这是查询
update rule
set stage = 'REVIEW'
where (
SELEct count(*)
from rule
where switch = true and (stage = 'REVIEW' or rule_ID = 1)
) <= 2 and rule_ID = 1;
我想知道这里是否可能出现一些并发问题?如果多个线程执行此语句,是否有可能在 count
语句执行时 update
值不相关?
为 update
操作显式锁定整个表是否是一个不错的选择?
编辑:
stage
应该改变的规则可以自己打开。这就是为什么子查询中的 where
case 等于
where switch = true and (stage = 'REVIEW' or rule_ID = 1)
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的使用 PostgtreSQL 中的子查询更新 - 并发问题全部内容,希望文章能够帮你解决使用 PostgtreSQL 中的子查询更新 - 并发问题所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。