sql 游標(理論)
- 2020 年 8 月 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 }