读书人

SQL高手有关问题请问

发布时间: 2012-01-18 00:23:26 作者: rapoo

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循环执行

读书人网 >SQL Server

热点推荐