客戶遊標主要是當在客戶機上緩存結果集時才使用。在客戶遊標中,有一個缺省的結果集被用來在客戶機上緩存整個結果集。客戶遊標僅支持靜態遊標而非動態遊標。因爲服務器遊標並不支持全部的Transact-SQL 語句或批處理,因此客戶遊標經常僅被用做服務器遊標的輔助。由於在通常狀況下,服務器遊標能支持絕大多數的遊標操做。因爲API 遊標和Transact-SQL 遊標使用在服務器端,因此被稱爲服務器遊標,也被稱爲後臺遊標,而客戶端遊標被稱爲前臺遊標。
遊標包含兩方面的內容:
●遊標結果集:執行其中的Select語句所獲得的結果集;
●遊標位置:一個指向遊標結果集內的某一條記錄的指針
利用遊標能夠單獨操縱結果集中的每一行。遊標在定義之後存在兩種狀態:關閉和打開。
當遊標關閉時,其查詢結果集不存在;只有當遊標打開時,才能按行讀取或修改結果集中的數據。
使用遊標
不管使用哪種遊標,都須要通過以下幾個步驟:
●定義遊標
●打開遊標
●從遊標中操做數據
●關閉遊標
下面是用法 DECLARE cursor1 cursor /* 聲明遊標,默認爲FORWARD_ONLY遊標 */ FOR SELECT * FROM books OPEN cursor1 /* 打開遊標 */ FETCH NEXT from cursor1 /* 讀取第1行數據*/ WHILE @@FETCH_STATUS = 0 /* 用WHILE循環控制遊標活動 */ BEGIN FETCH NEXT from cursor1 /* 在循環體內將讀取其他行數據 */ END CLOSE cursor1 /* 關閉遊標 */ DEALLOCATE cursor 1