select_statement 是定義結果集的select 語句。應該注意的是,在游標中不能使用compute、compu- te by、 for browse、 into 語句。
read only 表明不允許偽昴詰氖荼桓戮」茉諶筆∽刺掠偽曄竊市碭碌摹6以赨pdate或delete 語句的where current of 子句中,不允許對該游標進行引用。
update [of column_name[,…n]] 定義在游標中可被修改的列,如果不指出要更新的列,那么所有的列都將被更新。當游標被成功創建后,游標名成為該游標的惟一標識,如果在以后的存儲過程、觸發器或transact_sql 腳本中使用游標,必須指定該游標的名字。 上面介紹的是sql_92 的游標語法規則。下面介紹ms sql server 提供的擴展了的游標聲明語法,通過增加另外的保留字,使游標的功能進一步得到了增強其語法規則為;
local 定義游標的作用域僅限在其所在的存儲過程、觸發器或批處理中。當建立游標的存儲過程執行結束后,游標會被自動釋放。因此,我們常在存儲過程中使用output 保留字,將游標傳遞給該存儲過程的調用者,這樣在存儲過程執行結束后,可以引用該游標變量,在該種情況下,直到引用該游標的最后一個就是被釋放時,游標才會自動釋放。
global 定義游標的作用域是整個會話層會話層指用戶的連接時間它包括從用戶登錄到sqlserver 到脫離數據庫的整段時間。選擇global 表明在整個會話層的任何存儲過程、觸發器或批處理中都可以使用該游標,只有當用戶脫離數據庫、時該游標才會被自動釋放。 注意:如果既未使用global也未使用local,那么sql server將使用default local cursor數據庫選項,為了與以彰的版本歉容,該選項常設置為false。