点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)考虑运行以下sql 用户1 ...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)考虑运行以下sql 用户1 ...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
考虑运行以下sql
用户1
开始交易 更新TABLE-A集...
用户2
开始交易 更新TABLE-B设置... 更新TABLE-A集...
用户3
开始交易 更新TABLE-C设置... 更新TABLE-A集...
用户4
开始交易 更新TABLE-D集... 更新TABLE-C设置...
因此,用户1直接阻止用户2和用户3,并间接阻止用户4(通过用户3)。 是否有一个查询将返回用户1的spid阻止的spid数量为3的计数? 我怀疑这是一种自我联结,这对我来说始终是个挑战。 理想情况下,我希望该查询能够在任何深度的间接阻止条件下工作。
我们正在使用ASE 15.7
谢谢。
也许是这样吗?
选择spid,作为阻止程序从master..sysprocesses转到#blocks中,而@@ rowcount> 0
开始
update #blocks设置阻止程序= b.blocker < br> from #blocks a,#blocks b
其中a.spid不在(从#blocks中选择阻止程序)
并且a.blocker = b.spid
和b.blocker!= 0
结束
go
选择阻止程序,从#blocks中按阻止计数(*)为"计数"
按阻止程序分组
使阻止程序> 0
按阻止程序
go p>
一周热门 更多>