教您如何定義SQL Server游標
SQL Server游標是我們學習SQL數據庫時必須要掌握的知識,下面就教您如何定義SQL Server游標,如果您在定義SQL Server游標方面遇到過問題,不妨一看。
游標語句的核心是定義了一個游標標識名,并把游標標識名和一個查詢語句關聯起來。DECLARE語句用于聲明游標,它通過SELECT查詢定義游標存儲的數據集合。語句格式為:
DECLARE 游標名稱 [INSENSITIVE] [SCROLL]
CURSOR FOR select語句
[FOR{READ ONLY|UPDATE[OF 列名字表]}]
參數說明:
INSENSITIVE選項:說明所定義的游標使用SELECT語句查詢結果的拷貝,對游標的操作都基于該拷貝進行。因此,這期間對游標基本表的數據修改不能反映到游標中。這種游標也不允許通過它修改基本表的數據。
SCROLL選項:指定該游標可用所有的游標數據定位方法提取數據,游標定位方法包括PRIOR、FIRST、LAST、ABSOLUTE n 和RELATIVE n 選項。
Select語句:為標準的SELECT查詢語句,其查詢結果為游標的數據集合,構成游標數據集合的一個或多個表稱作游標的基表。
在游標聲明語句中,有下列條件之一時,系統自動把游標定義為INSENSITIVE游標:
SELECT語句中使用了DISTINCT、UNION、 GROUP BY或HAVING等關鍵字;
任一個游標基表中不存在***索引。
其他
READ ONLY選項:說明定義只讀游標。
UPDATE [OF 列名字表]選項:定義SQL Server游標可修改的列。如果使用OF 列名字表選項,說明只允許修改所指定的列,否則,所有列均可修改。
例如,查詢教師名字和所教的課程名,定義SQL Server游標TCURSOR的語句如下 :
DECLARE TCURSOR CURSOR FOR
SELECT tname, cname
FROM teacher ,couse
WHERE teacher.tno = couse.tno
【編輯推薦】