当我利用完一个游标之后能不能重新给这个游标赋上新的值?
比如:
declare usercursor cursor for select ID from user_table
open usercursor
....使用过程
然后我又需要重新使用这个游标,可以吗?就是要求usercursor的数据就像刚刚创建时的一样也是select ID from user_table
我知道可以重新创建另一个游标declare usercursor2 cursor for select ID from user_table
open usercursor2,选择相同的数据,但我想重新利用usercursor,怎么办?
[解决办法]
樓主想做什麼呢?游標裏用同一個游標。
[解决办法]
游标可以嵌套,不能递归。
[解决办法]
不可以,需要重新建立
[解决办法]
我记得游标可以倒着遍历
我猜可以,先倒着遍历让游标指到初始位置,再开始重新使用
不过这样感觉非常麻烦,还是新建比较好
[解决办法]
使用scroll选项就好.以下在ss2008测试通过:
DECLARE @dt datetimeDECLARE db_cursor CURSOR SCROLL FOR SELECT SMT_Data FROM MASTER.dbo.tb OPEN db_cursor FETCH NEXT FROM db_cursor INTO @dt WHILE @@FETCH_STATUS = 0 BEGIN print @dt FETCH NEXT FROM db_cursor INTO @dt END ---------------------------------------print 'use the same cursor again'FETCH FIRST FROM db_cursor INTO @dt WHILE @@FETCH_STATUS = 0 BEGIN print @dt FETCH NEXT FROM db_cursor INTO @dt END CLOSE db_cursor DEALLOCATE db_cursor