1. 程式人生 > 實用技巧 >sql 遊標(理論)

sql 遊標(理論)

遊標是處理結果集的一種機制
--宣告遊標
--ISO 語法
DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR 
     FOR select_statement 
     [ FOR { READ ONLY | UPDATE [ OF column_name [ ,...n ] ] } ][;]

--Transact-SQL 擴充套件語法
DECLARE cursor_name CURSOR
     [ LOCAL | GLOBAL ]    --遊標作用域
     [ FORWARD_ONLY | SCROLL ]   --
遊標移動方向 [ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ] --遊標型別 [ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ] --訪問屬性 [ TYPE_WARNING ] --型別轉換警告資訊 FOR select_statement --select查詢語句 [ FOR UPDATE [ OF column_name [ ,...n ] ] ][;] --可修改的列

--開啟遊標語法
OPEN { { [ GLOBAL ]  cursor_name }  |
cursor_variable_name}

--讀取資料
FETCH 
[  
    [ NEXT | PRIOR | FIRST | LAST | ABSOLUTE { n | @nvar } | RELATIVE { n | @nvar } ] FROM 
] 
{ { [ GLOBAL ] cursor_name } | @cursor_variable_name } 
[ INTO @variable_name [ ,...n ] ] --into 將讀取的遊標資料存放到指定的變數中

關閉&刪除遊標

--關閉遊標
CLOSE { { [ GLOBAL ] cursor_name } |
@cursor_variable_name } --刪除遊標 DEALLOCATE { { [ GLOBAL ] cursor_name } | @cursor_variable_name }