首頁 > 資料庫 > mysql教程 > mysql預存程序的遊標是什麼

mysql預存程序的遊標是什麼

青灯夜游
發布: 2022-01-24 17:28:35
原創
4713 人瀏覽過

在mysql預存程序中,遊標也稱為遊標,是儲存在DBMS伺服器上的資料庫查詢,是檢索作業傳回一組結果集,一般用於對檢索出來的資料進行前進或後退操作。

mysql預存程序的遊標是什麼

本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。

在MySQL 中,預存程序或函數中的查詢有時會傳回多筆記錄,而使用簡單的SELECT 語句,沒有辦法得到第一行、下一行或前十行的數據,這時可以使用遊標來逐條讀取查詢結果集中的記錄。遊標在部分資料中也被稱為遊標。

遊標簡介

1、遊標:也稱為遊標,是儲存在DBMS伺服器上的資料庫查詢,它不是一條select語句,而是被該語句檢索出來的結果集。

2、用途:對檢索出來的資料進行前進或後退操作,主要用於互動式應用,如使用者捲動螢幕上的資料

3、特性:

  • #能夠標記遊標為唯讀,使資料能讀取,但不能更新和刪除
  • 能控制可以執行的定向操作(向前、向後、第一、最後、絕對位置、相對位置等)
  • 能標記某些列為可編輯的,某些列為不可編輯的
  • 規定範圍,使遊標對創建它的特定請求(如預存程序)或對所有請求可存取
  • 只是DBMS對檢索出的資料(而不是指出表中活動資料)進行複製,使資料在遊標開啟和存取期間不變更

4 、支援遊標的DBMS:DB2、MariaDB、MySQL 5、SQL Server、SQLite、Oracle和PostgreSQL,而Microsoft Access不支援

5、遊標對基於Web的應用程式用處不大(ASP、ASP.NET 、ColdFusion、PHP、Python、Ruby、JSP等),大多數Web應用開發人員不使用遊標

##6、使用:

    聲明遊標: DECLARE cursor_name CURSOR FOR SELECT * FROM table_name;  // 還沒有檢索資料
  • 1

    2

    3

    4

    5

    6

    7

    8

    -- MySQL游标的声明

    DECLARE cursor_name CURSOR FOR select_statement

     

    -- SQL Server游标的声明

    DECLARE cursor_name CURSOR FOR select_statement [FOR [READ ONLY | UPDATE {[co lumn_list]}]]

     

    -- Oracle游标的声明

    DECLARE CORSOR cursor_name IS {select_statement}

    登入後複製
    開啟遊標:OPEN cursor_name; // 開始檢索數據,即指定遊標的SELECT語句被執行,並且查詢的結果集被保存在記憶體裡的特定區域。
  • 1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    -- MySQL打开游标

    OPEN cursor_name

     

     

    -- SQL Server打开游标

    OPEN cursor_name

     

     

    -- Oracle打开游标

    OPEN cursor_name [param1 [, param2]]

    登入後複製
    取得資料:FETCH cursor_name into var1,var2,...,varn; // 當遊標cursor_name檢索完資料後,只有等到下一次fetch時才會觸發結束的標誌
  • 1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    -- MySQL游标获取数据

    FETCH cursor_name INTO var1_name [, var2_name] ...

     

     

    -- SQL Server游标获取数据

    FETCH NEXT FROM cursor_name [INTO fetch_list]

     

     

    -- Oracle游标获取数据

    FETCH cursor_name  {INTO : host_var1 [[INDICATOR] : indicator_var1] [, : host_var2 [[INDICATOR] : indicator_var2]] | USING DESCRIPTOR DESCRIPTOR}

    登入後複製
    關閉遊標:CLOSE cursor_name;
  • 1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    -- MySQL关闭游标,会主动释放资源,所以不需要DEALLOCATE语句

    CLOSE cursor_name

     

     

    -- SQL Server关闭游标和释放资源

    CLOSE cursor_name

    DEALLOCATE cursor_name

     

     

    -- Oracle关闭游标,会主动释放资源,所以不需要DEALLOCATE语句

    CLOSE cursor_name

    登入後複製
【相關推薦:

mysql影片教學

以上是mysql預存程序的遊標是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
linux安裝mysql報錯
來自於 1970-01-01 08:00:00
0
0
0
mysql 升級後無法重新啟動mysql服務的問題
來自於 1970-01-01 08:00:00
0
0
0
MySQL停止進程
來自於 1970-01-01 08:00:00
0
0
0
phpstudy不能啟動mysql?
來自於 1970-01-01 08:00:00
0
0
0
環境中mysql
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板