国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

mysql存儲過程的游標(biāo)有什么作用

2024-07-24 12:33:32
字體:
供稿:網(wǎng)友
  這篇文章主要講解了“mysql存儲過程的游標(biāo)有什么作用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“mysql存儲過程的游標(biāo)有什么作用”吧!
 
  在mysql存儲過程中,游標(biāo)也稱為光標(biāo),是一個(gè)存儲在DBMS服務(wù)器上的數(shù)據(jù)庫查詢,是檢索操作返回一組結(jié)果集,一般用于對檢索出來的數(shù)據(jù)進(jìn)行前進(jìn)或者后退操作。
 
  本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
 
  在 MySQL 中,存儲過程或函數(shù)中的查詢有時(shí)會返回多條記錄,而使用簡單的 SELECT 語句,沒有辦法得到第一行、下一行或前十行的數(shù)據(jù),這時(shí)可以使用游標(biāo)來逐條讀取查詢結(jié)果集中的記錄。游標(biāo)在部分資料中也被稱為光標(biāo)。
 
  游標(biāo)簡介
 
  1、游標(biāo):也稱為光標(biāo),是一個(gè)存儲在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時(shí)才會觸發(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
  感謝各位的閱讀,以上就是“mysql存儲過程的游標(biāo)有什么作用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對mysql存儲過程的游標(biāo)有什么作用這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。

(編輯:武林網(wǎng))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 浏阳市| 井研县| 乐平市| 双牌县| 荣昌县| 封丘县| 云阳县| 通城县| 拉萨市| 新安县| 普格县| 大石桥市| 沂水县| 大厂| 丹棱县| 台北市| 临桂县| 抚远县| 淳化县| 武宣县| 腾冲县| 靖西县| 陆河县| 边坝县| 遵义市| 延津县| 宁夏| 孟连| 泾川县| 万源市| 泰顺县| 远安县| 沙坪坝区| 扶绥县| 阳春市| 阿鲁科尔沁旗| 墨江| 个旧市| 蒙山县| 武城县| 攀枝花市|