程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> MS SQL基礎教程:聲明游標

MS SQL基礎教程:聲明游標

編輯:關於SqlServer

每一個游標必須有四個組成部分這四個關鍵部分必須符合下面的順序;

1.DECLARE 游標

2.OPEN 游標

3.從一個游標中FETCH 信息

4.CLOSE 或DEALLOCATE 游標

通常我們使用DECLARE 來聲明一個游標聲明一個游標主要包括以下主要內容: 游標名字 數據來源(表和列) 選取條件 屬性(僅讀或可修改)

其語法格式如下:

DECLARE cursor_name [INSENSITIVE] [SCROLL] CURSOR

FOR select_statement

[FOR {READ ONLY | UPDATE [OF column_name [,...n]]}]

其中: cursor_name

指游標的名字。 INSENSITIVE

表明MS SQL SERVER 會將游標定義所選取出來的數據記錄存放在一臨時表內(建立在tempdb 數據庫下)。對該游標的讀取操作皆由臨時表來應答。因此,對基本表的修改並不影響游標提取的數據,即游標不會隨著基本表內容的改變而改變,同時也無法通過

游標來更新基本表。如果不使用該保留字,那麼對基本表的更新、刪除都會反映到游標中。

另外應該指出,當遇到以下情況發生時,游標將自動設定INSENSITIVE 選項。

在SELECT 語句中使用DISTINCT、 GROUP BY、 HAVING UNION 語句;

使用OUTER JOIN;

所選取的任意表沒有索引;

將實數值當作選取的列。 SCROLL

表明所有的提取操作(如FIRST、 LAST、 PRIOR、 NEXT、 RELATIVE、 ABSOLUTE)都可用。如果不使用該保留字,那麼只能進行NEXT 提取操作。由此可見,SCROLL 極大地增加了提取數據的靈活性,可以隨意讀取結果集中的任一行數據記錄,而不必關閉再

重開游標。 select_statement

是定義結果集的SELECT 語句。應該注意的是,在游標中不能使用COMPUTE、COMPU- TE BY、 FOR BROWSE、 INTO 語句。 READ ONLY

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved