gpt4 book ai didi

sql - T-SQL 游标在运行时更改的结果

转载 作者:行者123 更新时间:2023-12-02 06:44:06 24 4
gpt4 key购买 nike

有没有办法防止 Cursor 在运行时发生变化。如果我有一个遍历所有用户的游标,同时在每个用户的处理过程中,我创建了一些额外的用户,那么 Cursor 也会遍历新创建的用户...

最佳答案

您的光标需要是 INSENSITIVE 或 STATIC

来自 BOL:http://msdn.microsoft.com/en-us/library/ms180169.aspx

不敏感

定义一个游标,该游标制作游标要使用的数据的临时副本。所有对游标的请求都从 tempdb 中的这个临时表得到答复;因此,对基表所做的修改不会反射(reflect)在对此游标进行的提取所返回的数据中,并且此游标不允许修改。使用 ISO 语法时,如果省略 INSENSITIVE,则(任何用户)对基础表所做的提交删除和更新将反射(reflect)在后续提取中。

静态

定义一个游标,该游标制作游标要使用的数据的临时副本。所有对游标的请求都从 tempdb 中的这个临时表得到答复;因此,对基表所做的修改不会反射(reflect)在对此游标进行的提取所返回的数据中,并且此游标不允许修改。

但是我仍然建议使用基于 SET 的解决方案

关于sql - T-SQL 游标在运行时更改的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3186510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com