sql 遊標(理論)
阿新 • • 發佈:2020-08-26
遊標是處理結果集的一種機制
--宣告遊標 --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 }