SQL高手问题请教
下面这里有2段代码,功能是使用了游标从pubs数据库中的authors提取数据并显示,但我用了2个不一样的代码,但结果都是 正确的,
(1)declare r1 cursor for select * from authors
open r1
fetch next from r1
while @@rowcount <> 0 --判断上一次游标读写的记录数量
fetch next from r1
close r1
deallocate r1
(2)declare r1 cursor
for select* from authors
open r1
fetch next from r1
while @@fetch_status=0
fetch next from r1
close r1
deallocate r1
请告诉我他们有没有什么区别。
------解决方案--------------------当然有区别了,后一条肯定是对的.
前一条不一定.fetch next from r1 一定要是最后一条执行的语句才行.
否则@@rowcount 反映的就是其他语句影响的记录数.
------解决方案--------------------1、while循环没执行
2、while循环执行