T-SQL 語句(九)—— 遊標
阿新 • • 發佈:2019-01-30
SELECT name,age FROM employee -- 定義遊標
OPEN Cursor_employee -- 開啟遊標
DECLARE @name NVARCHAR(15)
DECLARE @age INT
FETCH NEXT FROM Cursor_employee INTO @name,@age
WHILE (@@FETCH_STATUS = 0)
BEGIN
PRINT 'name: ' + @name
PRINT 'age: ' + CAST(@age AS VARCHAR(3))
PRINT ''
FETCH NEXT FROM Cursor_employee INTO @name,@age
END
CLOSE Cursor_employee -- 關閉遊標
DEALLOCATE Cursor_employee -- 刪除遊標,從記憶體中刪除,釋放系統資源
DECLARE @cursor_var STATIC CURSOR -- 定義遊標變數,指定為靜態遊標,DIYNAMIC 遊標 @@CURSOR_ROWS 總是-1
DECLARE @name NVARCHAR(20)
SET @cursor_var = CURSOR FOR SELECT * FROM employee
OPEN @cursor_var
FETCH NEXT FROM @cursor_var
WHERE (@@FETCH_STATUS = 0)
BEGIN
SELECT @name = name FROM CURRENT OF cursor_var -- 當前行
PRINT @name
FETCH NEXT FROM @cursor_var
END
PRINT '列印靜態遊標總記錄數 @@CURSOR_ROWS:'
PRINT @@CURSOR_ROWS
CLOSE @cursor_var
DEALLOCATE @cursor_var