DECLARE bookid_cursor SCROLL CURSOR for
SELECT * FROM bookinfo
OPEN bookid_cursor
DECLARE @bookid INT,@readerid INT
--这里没先提取
WHILE @@FETCH_STATUS=0
BEGIN
FETCH next FROM bookid_cursor INTO @bookid,@readerid
PRINT '书本id:'+ CAST( @bookid AS NVARCHAR(5)) +' 读者id:' + CAST( @readerid AS NVARCHAR(5))
END
CLOSE bookid_cursor
这样的话就什么也没print,只显示命令完成。想要下解释。DECLARE bookid_cursor SCROLL CURSOR for
SELECT * FROM bookinfo
OPEN bookid_cursor
DECLARE @bookid INT,@readerid INT
FETCH next FROM bookid_cursor INTO @bookid,@readerid --在这里先提取之后却遍历了结果集
WHILE @@FETCH_STATUS=0
BEGIN
FETCH next FROM bookid_cursor INTO @bookid,@readerid
PRINT '书本id:'+ CAST( @bookid AS NVARCHAR(5)) +' 读者id:' + CAST( @readerid AS NVARCHAR(5))
END
CLOSE bookid_cursor为什么方法二就正确?
SELECT * FROM bookinfo
OPEN bookid_cursor
DECLARE @bookid INT,@readerid INT
--这里没先提取
WHILE @@FETCH_STATUS=0
BEGIN
FETCH next FROM bookid_cursor INTO @bookid,@readerid
PRINT '书本id:'+ CAST( @bookid AS NVARCHAR(5)) +' 读者id:' + CAST( @readerid AS NVARCHAR(5))
END
CLOSE bookid_cursor
这样的话就什么也没print,只显示命令完成。想要下解释。DECLARE bookid_cursor SCROLL CURSOR for
SELECT * FROM bookinfo
OPEN bookid_cursor
DECLARE @bookid INT,@readerid INT
FETCH next FROM bookid_cursor INTO @bookid,@readerid --在这里先提取之后却遍历了结果集
WHILE @@FETCH_STATUS=0
BEGIN
FETCH next FROM bookid_cursor INTO @bookid,@readerid
PRINT '书本id:'+ CAST( @bookid AS NVARCHAR(5)) +' 读者id:' + CAST( @readerid AS NVARCHAR(5))
END
CLOSE bookid_cursor为什么方法二就正确?
返回针对连接当前打开的任何游标发出的上一条游标 FETCH 语句的状态
0 FETCH 语句成功。
-1 FETCH 语句失败或行不在结果集中。
-2 提取的行不存在。
按你说第一种while循环根本就没执行到啦??