《SQL必知必會》| 第21課 使用遊標 學習筆記

第21課 使用遊標

這一課將講授什麼是遊標,如何使用遊標

21.1 遊標

  • SQL檢索操作返回一組稱爲結果集的行,這組返回的行都是與SQL語句相匹配的行(零行或多行)。

有時,需要在檢索出來的行中前進或後退一行或多行,這就是遊標的用途所在。

  • 遊標cursor是一個存儲在DBMS服務器上的數據庫查詢,它不是一條SELECT語句,而是被該語句檢索出來的結果集。
    在存儲了遊標之後,應用程序可以根據需要滾動或瀏覽其中的數據。

遊標選項和特性:

  • 能夠標記遊標爲只讀,使數據能讀取,但不能更新和刪除。
  • 能控制可以執行的定向操作(向前、向後、第一、最後、絕對位置、相對位置等)。
  • 能標記某些列爲可編輯的,某些列爲不可編輯的。
  • 規定範圍,使遊標對創建它的特定請求(如存儲過程)或對所有請求可訪問。
  • 指示DBMS對檢索出的數據,(而不是指出表中活動數據)進行復制,使數據在遊標打開和訪問期間不變化。

遊標主要用於交互式應用,其中用戶需要滾動屏幕上的數據,並對數據進行瀏覽或做出更改。

21.2 使用遊標

使用遊標涉及幾個明確的步驟:

  • 在使用遊標前,必須聲明(定義)它。這個過程實際上沒有檢索數據,它只是定義要使用的SELECT語句和遊標選項。
  • 一旦聲明,就必須打開遊標以供使用。這個過程用前面定義的SELECT語句把數據實際檢索出來。
  • 對於填有數據的遊標,根據需要取出(檢索)各行。
  • 在結束遊標使用時,必須關閉遊標,可能的話,釋放遊標(有賴於具體的DBMS)。

聲明遊標後,可根據需要頻繁地打開和關閉遊標。在遊標打開時,可根據需要頻繁地執行取操作。

21.2.1 創建遊標
  • 使用DECLARE語句創建遊標。
  • DECLARE命名遊標,並定義相應的SELECT語句,根據需要帶WHERE和其他子句。
21.2.2 使用遊標
  • 使用OPEN CURSOR語句打開遊標。
  • 現在可以用FETCH語句訪問遊標數據了。FETCH指出要檢索哪些行,從何處檢索它們以及將它們放於何處(如變量名)。
21.2.3 關閉遊標

SQL ServerDBMS要求明確釋放遊標所佔用的資源。

  • CLOSE語句用來關閉遊標。一旦遊標關閉,如果不再次打開,將不能使用。第二次使用它時不需要再聲明,只需要OPEN打開它即可。
發佈了154 篇原創文章 · 獲贊 28 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章