SQL数据库里的游标如何来控制?如何达到条件时退出游标,这个条件如何来写?
展工匠 2009-12-01 11:22:09 下面是我写的代码:
Declare @visitl_jrxiaofei int
Declare @visitl_lszxiaofei int
--declare cur_authors cursor for select au_lname,au_fname from authors for update
Declare myCursor Cursor For Select top 500 visitl_jrxiaofei,visitl_lszxiaofei From visitl_user--定义游标并定义条件
Open myCursor --打开游标
Fetch next From myCursor Into @visitl_jrxiaofei,@visitl_lszxiaofei --开始抓第一条数据
While @@fetch_status=0
--如果数据集里一直有数据
Begin
Update visitl_user Set visitl_lszxiaofei=@visitl_lszxiaofei+1,[visitl_jrxiaofei]=@visitl_jrxiaofei+1
Fetch NEXT From myCursor Into @visitl_jrxiaofei,@visitl_lszxiaofei --跳到下一条数据
Begin --这里我想做到的是在这里判断游标的位置,当游标到达第450条数据时关闭游标,上面的表不再进行更新数据
If @@fetch_status=3
close myCursor
End
End
Close myCursor --关闭游标
Deallocate myCursor --删除游标
这样应该如何去实现,上面的代码系统没有示出错,但是出现的问题是把整张表里的数据全部都更新了,没有达到我想要的只更新前面的450条数据的效果!
另外请教下,游标如何返回出数据?