閱讀以下代碼,在SQLserver上執行。
分析結果,並總結遊標的使用。
IF (exists (select * from sys.objects where name = 'proc_cursor'))
DROP PROCEDURE proc_cursor
GO
CREATE PROCEDURE proc_cursor -- 存儲過程
AS
DECLARE @Sno char(9)--定義變量
DECLARE @Sname char(20)--定義變量
DECLARE mycursor CURSOR FOR select Sno,Sname from Student --聲明遊標
OPEN mycursor --打開遊標
FETCH NEXT FROM mycursor INTO @Sno,@Sname
WHILE(@@FETCH_STATUS=0) --遍歷所有的數據
BEGIN
PRINT '遊標成功取出一條數據:'
PRINT @Sno
PRINT @Sname
PRINT '********************'
FETCH NEXT FROM mycursor INTO @Sno,@Sname --取下一條遊標數據
END
CLOSE mycursor --關閉遊標
DEALLOCATE mycursor --刪除遊標
GO
EXEC proc_cursor
GO
T-SQL中使用遊標