Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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 修改在其上声明游标的表_Sql Server_Tsql - Fatal编程技术网

Sql server 修改在其上声明游标的表

Sql server 修改在其上声明游标的表,sql-server,tsql,Sql Server,Tsql,因此,我在存储过程中的临时表上创建了一个游标。但是,在@fetch\u状态while循环中,此临时表已更改。我希望游标将在它声明的表中看到新条目,并将继续在这些条目上循环。实际上是这样吗?还是SQL在声明游标时会对表进行快照?如果将游标声明为动态的,则在输入和获取该行时,应该会看到对该行所做的任何更改。当然,在获取后所做的任何更改对您来说都是不可见的。我不记得默认的游标行为是静态的还是动态的,所以最好按照您希望的方式声明它,以确保安全 请注意,在动态光标中还有一些其他选项的限制,请参见页面了解所

因此,我在存储过程中的临时表上创建了一个游标。但是,在@fetch\u状态while循环中,此临时表已更改。我希望游标将在它声明的表中看到新条目,并将继续在这些条目上循环。实际上是这样吗?还是SQL在声明游标时会对表进行快照?

如果将游标声明为动态的,则在输入和获取该行时,应该会看到对该行所做的任何更改。当然,在获取后所做的任何更改对您来说都是不可见的。我不记得默认的游标行为是
静态的
还是
动态的
,所以最好按照您希望的方式声明它,以确保安全

请注意,在
动态
光标中还有一些其他选项的限制,请参见页面了解所有细节