Lie*_*oen 2 sql t-sql sql-server
有没有办法防止Cursor在运行时更改.如果我有一个迭代所有用户的游标,同时,在每个用户的处理中,我创建了一些额外的用户,那么Cursor也会迭代新创建的用户......
您的光标需要是INSENSITIVE或STATIC
来自BOL:http://msdn.microsoft.com/en-us/library/ms180169.aspx
INSENSITIVE
定义一个游标,该游标用于生成游标要使用的数据的临时副本.所有对游标的请求都是从tempdb中的临时表中回答的; 因此,对基表进行的修改不会反映在对此游标进行的提取返回的数据中,并且此游标不允许进行修改.使用ISO语法时,如果省略INSENSITIVE,则对后续表(由任何用户)进行的提交删除和更新将反映在后续提取中.
静态的
定义一个游标,该游标用于生成游标要使用的数据的临时副本.所有对游标的请求都是从tempdb中的临时表中回答的; 因此,对基表进行的修改不会反映在对此游标进行的提取返回的数据中,并且此游标不允许进行修改.
但是,我仍然建议使用基于SET的解决方案
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |