遊標(cursor)是系統為使用者開設的一個數據緩衝區,存放SQL語句的執行結果。每個遊標區都有一個名字,使用者可以用SQL語句逐一從遊標中獲取記錄,並賦給主變數,交由主語言進一步處理。遊標提供了一種對從表中檢索出的資料進行操作的靈活手段。
使用遊標的基本步驟:
1、宣告遊標。把遊標與T-SQL語句的結果集聯絡起來。
2、開啟遊標。
3、使用遊標操作資料。
4、關閉遊標。
功能:
1、遊標提供了一種對從表中檢索出的資料進行操作的靈活手段,就本質而言,遊標實際上是一種能從包括多條資料記錄的結果集中每次提取一條記錄的機制。
2、遊標能夠實現按與傳統程式讀取平面檔案類似的方式處理來自基礎表的結果集,從而把表中資料以平面檔案的形式呈現給程式。
3、遊標把作為面向集合的資料庫管理系統和麵向行的程式設計兩者聯絡起來,使兩個資料處理方式能夠進行溝通。
種類:
1、Transact_SQL遊標
Transact_SQL遊標是由DECLARECURSOR語法定義、主要用在Transact_SQL指令碼、儲存過程和觸發器中。Transact_SQL遊標主要用在伺服器上,由從客戶端傳送給伺服器的Transact_SQL語句或是批處理、儲存過程、觸發器中的Transact_SQL進行管理。Transact_SQL遊標不支援提取資料塊或多行資料。
2、API遊標
API遊標支援在OLEDB,ODBC以及DB_library中使用遊標函式,主要用在伺服器上。每一次客戶端應用程式呼叫API遊標函式,MSSQLSEVER的OLEDB提供者、ODBC驅動器或DB_library的動態連結庫(DLL)都會將這些客戶請求傳送給伺服器以對API遊標進行處理。
3、客戶遊標
客戶遊標主要是當在客戶機上快取結果集時才使用。在客戶遊標中,有一個預設的結果集被用來在客戶機上快取整個結果集。客戶遊標僅支援靜態遊標而非動態遊標。由於伺服器遊標並不支援所有的Transact-SQL語句或批處理,所以客戶遊標常常僅被用作伺服器遊標的輔助。因為在一般情況下,伺服器遊標能支援絕大多數的遊標操作。由於API遊標和Transact-SQL遊標使用在伺服器端,所以被稱為伺服器遊標,也被稱為後臺遊標,而客戶端遊標被稱為前臺遊標。
遊標(cursor)是系統為使用者開設的一個數據緩衝區,存放SQL語句的執行結果。每個遊標區都有一個名字,使用者可以用SQL語句逐一從遊標中獲取記錄,並賦給主變數,交由主語言進一步處理。遊標提供了一種對從表中檢索出的資料進行操作的靈活手段。
使用遊標的基本步驟:
1、宣告遊標。把遊標與T-SQL語句的結果集聯絡起來。
2、開啟遊標。
3、使用遊標操作資料。
4、關閉遊標。
功能:
1、遊標提供了一種對從表中檢索出的資料進行操作的靈活手段,就本質而言,遊標實際上是一種能從包括多條資料記錄的結果集中每次提取一條記錄的機制。
2、遊標能夠實現按與傳統程式讀取平面檔案類似的方式處理來自基礎表的結果集,從而把表中資料以平面檔案的形式呈現給程式。
3、遊標把作為面向集合的資料庫管理系統和麵向行的程式設計兩者聯絡起來,使兩個資料處理方式能夠進行溝通。
種類:
1、Transact_SQL遊標
Transact_SQL遊標是由DECLARECURSOR語法定義、主要用在Transact_SQL指令碼、儲存過程和觸發器中。Transact_SQL遊標主要用在伺服器上,由從客戶端傳送給伺服器的Transact_SQL語句或是批處理、儲存過程、觸發器中的Transact_SQL進行管理。Transact_SQL遊標不支援提取資料塊或多行資料。
2、API遊標
API遊標支援在OLEDB,ODBC以及DB_library中使用遊標函式,主要用在伺服器上。每一次客戶端應用程式呼叫API遊標函式,MSSQLSEVER的OLEDB提供者、ODBC驅動器或DB_library的動態連結庫(DLL)都會將這些客戶請求傳送給伺服器以對API遊標進行處理。
3、客戶遊標
客戶遊標主要是當在客戶機上快取結果集時才使用。在客戶遊標中,有一個預設的結果集被用來在客戶機上快取整個結果集。客戶遊標僅支援靜態遊標而非動態遊標。由於伺服器遊標並不支援所有的Transact-SQL語句或批處理,所以客戶遊標常常僅被用作伺服器遊標的輔助。因為在一般情況下,伺服器遊標能支援絕大多數的遊標操作。由於API遊標和Transact-SQL遊標使用在伺服器端,所以被稱為伺服器遊標,也被稱為後臺遊標,而客戶端遊標被稱為前臺遊標。