站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

mysql存儲過程的游標(biāo)是什么

在mysql存儲過程中,游標(biāo)也稱為光標(biāo),是一個存儲在DBMS服務(wù)器上的數(shù)據(jù)庫查詢,是檢索操作返回一組結(jié)果集,一般用于對檢索出來的數(shù)據(jù)進(jìn)行前進(jìn)或者后退操作。

mysql存儲過程的游標(biāo)是什么

本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。

在 MySQL 中,存儲過程或函數(shù)中的查詢有時會返回多條記錄,而使用簡單的 SELECT 語句,沒有辦法得到第一行、下一行或前十行的數(shù)據(jù),這時可以使用游標(biāo)來逐條讀取查詢結(jié)果集中的記錄。游標(biāo)在部分資料中也被稱為光標(biāo)。

游標(biāo)簡介

1、游標(biāo):也稱為光標(biāo),是一個存儲在DBMS服務(wù)器上的數(shù)據(jù)庫查詢,它不是一條select語句,而是被該語句檢索出來的結(jié)果集。

2、用途:對檢索出來的數(shù)據(jù)進(jìn)行前進(jìn)或者后退操作,主要用于交互式應(yīng)用,如用戶滾動屏幕上的數(shù)據(jù)

3、特性:

  • 能夠標(biāo)記游標(biāo)為只讀,使數(shù)據(jù)能讀取,但不能更新和刪除
  • 能控制可以執(zhí)行的定向操作(向前、向后、第一、最后、絕對位置、相對位置等)
  • 能標(biāo)記某些列為可編輯的,某些列為不可編輯的
  • 規(guī)定范圍,使游標(biāo)對創(chuàng)建它的特定請求(如存儲過程)或?qū)λ姓埱罂稍L問
  • 只是DBMS對檢索出的數(shù)據(jù)(而不是指出表中活動數(shù)據(jù))進(jìn)行復(fù)制,使數(shù)據(jù)在游標(biāo)打開和訪問期間不變化

4、支持游標(biāo)的DBMS:DB2、MariaDB、MySQL 5、SQL Server、SQLite、Oracle和PostgreSQL,而Microsoft Access不支持

5、游標(biāo)對基于Web的應(yīng)用用處不大(ASP、ASP.NET、ColdFusion、PHP、Python、Ruby、JSP等),大多數(shù)Web應(yīng)用開發(fā)人員不使用游標(biāo)

6、使用:

  • 聲明游標(biāo): DECLARE cursor_name CURSOR FOR SELECT * FROM table_name; // 還沒有檢索數(shù)據(jù)
-- MySQL游標(biāo)的聲明 DECLARE cursor_name CURSOR FOR select_statement  -- SQL Server游標(biāo)的聲明 DECLARE cursor_name CURSOR FOR select_statement [FOR [READ ONLY | UPDATE {[co lumn_list]}]]  -- Oracle游標(biāo)的聲明 DECLARE CORSOR cursor_name IS {select_statement}
  • 打開游標(biāo):OPEN cursor_name; // 開始檢索數(shù)據(jù),即指定游標(biāo)的SELECT語句被執(zhí)行,并且查詢的結(jié)果集被保存在內(nèi)存里的特定區(qū)域。
-- MySQL打開游標(biāo) OPEN cursor_name   -- SQL Server打開游標(biāo) OPEN cursor_name   -- Oracle打開游標(biāo) OPEN cursor_name [param1 [, param2]]
  • 獲取數(shù)據(jù):FETCH cursor_name into var1,var2,…,varn; // 當(dāng)游標(biāo)cursor_name檢索完數(shù)據(jù)后,只有等到下一次fetch時才會觸發(fā)結(jié)束的標(biāo)志
-- MySQL游標(biāo)獲取數(shù)據(jù) FETCH cursor_name INTO var1_name [, var2_name] ...   -- SQL Server游標(biāo)獲取數(shù)據(jù) FETCH NEXT FROM cursor_name [INTO fetch_list]   -- Oracle游標(biāo)獲取數(shù)據(jù) FETCH cursor_name  {INTO : host_var1 [[INDICATOR] : indicator_var1] [, : host_var2 [[INDICATOR] : indicator_var2]] | USING DESCRIPTOR DESCRIPTOR}
  • 關(guān)閉游標(biāo):CLOSE cursor_name;
-- MySQL關(guān)閉游標(biāo),會主動釋放資源,所以不需要DEALLOCATE語句 CLOSE cursor_name   -- SQL Server關(guān)閉游標(biāo)和釋放資源 CLOSE cursor_name DEALLOCATE cursor_name   -- Oracle關(guān)閉游標(biāo),會主動釋放資源,所以不需要DEALLOCATE語句 CLOSE cursor_name

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
国产精品嫩草影院一二三区入口| 久久亚洲精品无码| 日韩免费电影网址| 精品亚洲成a人在线观看| 精品国产三级a∨在线| 人妻少妇精品视中文字幕国语| 国产午夜福利精品一区二区三区| 国产成人精品一区二区三区| 日韩经典午夜福利发布| 国产成人综合精品| 精品国产夜色在线| 亚洲AV永久无码精品放毛片| 国产精品大片天天看片| 亚洲国产福利精品一区二区| 日本伊人精品一区二区三区| 亚洲高清国产拍精品26U| 亚洲精品国产成人片| 国产在线精品一区二区三区不卡 | 无码精品一区二区三区免费视频| 伊人久久综合精品无码AV专区| 国产乱人伦偷精品视频不卡| 亚洲国产精品尤物yw在线| 精品一区中文字幕| 麻豆国产96在线|日韩| 日韩在线免费视频| 日韩精品射精管理在线观看| 日韩视频免费在线| 国产精品日韩欧美一区二区三区| 日韩免费一区二区三区在线播放| 日韩亚洲Av人人夜夜澡人人爽| 亚洲免费日韩无码系列| 手机日韩精品视频在线看网站| 国产成人无码精品久久二区三区| 国产成人久久精品| 无码国产亚洲日韩国精品视频一区二区三区| 国产精品国产午夜免费福利看| 国产精品特黄毛片| 国产精品久久久久久亚洲小说| 国产农村乱子伦精品视频| 日韩精品人妻av一区二区三区| 亚洲日韩区在线电影|