Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 我可以将阻塞限制为SQL游标中的单个循环吗_Sql Server 2005_Cursor_Blocking - Fatal编程技术网

Sql server 2005 我可以将阻塞限制为SQL游标中的单个循环吗

Sql server 2005 我可以将阻塞限制为SQL游标中的单个循环吗,sql-server-2005,cursor,blocking,Sql Server 2005,Cursor,Blocking,我需要在一个较大的数据库上做一些工作,这个数据库基本上需要调用一个存储过程,该过程对表中的每个值调用不同的参数,大约20k个条目。我希望这样做时不会在该表或每个循环涉及的其他表上阻塞整个流程的运行时间。是否可以从SQL内部将事务限制为游标上的单个循环 对于我来说,在流程完成后手动检查我循环的表是否有更改并再次运行新条目将非常简单,因此我不关心跟踪更改。您可以将设置为“读取未限制”。 但请确保这正是您真正想要的,因为您可能会收到脏读、丢失更新、幻影更新等…我认为循环浏览20000条记录是一个糟糕的

我需要在一个较大的数据库上做一些工作,这个数据库基本上需要调用一个存储过程,该过程对表中的每个值调用不同的参数,大约20k个条目。我希望这样做时不会在该表或每个循环涉及的其他表上阻塞整个流程的运行时间。是否可以从SQL内部将事务限制为游标上的单个循环

对于我来说,在流程完成后手动检查我循环的表是否有更改并再次运行新条目将非常简单,因此我不关心跟踪更改。

您可以将设置为“读取未限制”。
但请确保这正是您真正想要的,因为您可能会收到脏读、丢失更新、幻影更新等…

我认为循环浏览20000条记录是一个糟糕的选择。最好用基于集合的解决方案替换存储的进程。你应该避免使用游标