首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

当小弟我利用完一个游标之后能不能重新给这个游标赋下新的值

2012-08-16 
当我利用完一个游标之后能不能重新给这个游标赋上新的值?比如:declare usercursor cursor for select ID f

当我利用完一个游标之后能不能重新给这个游标赋上新的值?
比如:
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测试通过: 

SQL code
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 

热点排行