请问这种SQL写法会死锁吗?

shuyisheng 2017-06-15 07:14:22
"update a set
a.box_card_num=b.box_card_num
from tabname_aaa as a,
( select branch_no_belong,card_type_id,out_file_name,branch_no,card_base_id,box_id,count(*) as box_card_num
from tabname_aaa
where bad=0 and addr_flag='N'
group by branch_no_belong,card_type_id,out_file_name,branch_no,card_base_id,box_id
) as b
where a.bad=0 and a.addr_flag='N'
and a.branch_no_belong=b.branch_no_belong
and a.card_type_id=b.card_type_id
and a.out_file_name=b.out_file_name
and a.branch_no=b.branch_no
and a.card_base_id=b.card_base_id
and a.box_id=b.box_id",
...全文
209 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2017-06-15
  • 打赏
  • 举报
回复
多个会话,有资源的互相等待,才会有死锁。 你这一个语句,不会有死锁的。
shuyisheng 2017-06-15
  • 打赏
  • 举报
回复
这个SQL主要是通过tabname_aaa这张表里通过几个字段来分组groupby然后统计相应的数量,更新到这张表里面的一个字段作为卡数量值。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧