mysql預存程序的遊標是什麼

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

在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;  // 還沒有檢索資料
  • -- 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語句被執行,並且查詢的結果集被保存在記憶體裡的特定區域。
  • -- 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時才會觸發結束的標誌
  • -- 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;
  • -- MySQL关闭游标,会主动释放资源,所以不需要DEALLOCATE语句
    CLOSE cursor_name
    
    
    -- SQL Server关闭游标和释放资源
    CLOSE cursor_name
    DEALLOCATE cursor_name
    
    
    -- Oracle关闭游标,会主动释放资源,所以不需要DEALLOCATE语句
    CLOSE cursor_name
    登入後複製
【相關推薦:

mysql影片教學

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!