亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > mysql存儲過程之游標(DECLARE)原理與用法詳解

mysql存儲過程之游標(DECLARE)原理與用法詳解

熱門標簽:巫師三血與酒地圖標注 常州網絡外呼系統開發 安徽ai電話電銷機器人有效果嗎 400電話申請信用卡 銷售語音電話機器人 外呼系統電銷受騙 萊西市地圖標注 在哪里申請400電話 走過哪個省地圖標注

本文實例講述了mysql存儲過程之游標(DECLARE)原理與用法。分享給大家供大家參考,具體如下:

我們在處理存儲過程中的結果集時,可以使用游標,因為游標允許我們迭代查詢返回的一組行,并相應地處理每行。mysql的游標為只讀,不可滾動和敏感三種模式,我們來看下:

  • 只讀:無法通過光標更新基礎表中的數據。
  • 不可滾動:只能按照select語句確定的順序獲取行。不能以相反的順序獲取行。 此外,不能跳過行或跳轉到結果集中的特定行。
  • 敏感:有兩種游標:敏感游標和不敏感游標。敏感游標指向實際數據,不敏感游標使用數據的臨時副本。敏感游標比一個不敏感的游標執行得更快,因為它不需要臨時拷貝數據。但是,對其他連接的數據所做的任何更改都將影響由敏感游標使用的數據,因此,如果不更新敏感游標所使用的數據,則更安全。 MySQL游標是敏感的。

我們可以在存儲過程,存儲函數和觸發器中使用MySQL游標,咱們先來看下使用DECLARE語句聲明的語法:

DECLARE cursor_name CURSOR FOR SELECT_statement;

我們要注意下,游標聲明必須在變量聲明之后。如果在變量聲明之前聲明游標,mysql將會發出一個錯誤,另外游標必須始終與SELECT語句相關聯。完事呢,我們來使用OPEN語句打開游標。OPEN語句初始化游標的結果集,因此我們必須在從結果集中提取行之前調用OPEN語句:

OPEN cursor_name;

然后,我們來使用FETCH語句來檢索光標指向的下一行,并將光標移動到結果集中的下一行:

FETCH cursor_name INTO variables list;

之后,我們就可以檢查是否有任何行記錄可用,然后再提取它。完事最后還要記得調用CLOSE語句來停用光標并釋放與之關聯的內存:

CLOSE cursor_name;

我們要知道,當光標不再使用時,應該關閉它。當我們使用mysql游標時,還必須聲明一個NOT FOUND處理程序來處理當游標找不到任何行時的情況。 因為每次調用FETCH語句時,游標會嘗試讀取結果集中的下一行。 當光標到達結果集的末尾時,它將無法獲得數據,并且會產生一個條件。NOT FOUND處理程序用于處理這種情況,我們來看下它的語法結構:

DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;

finished是一個變量,指示光標到達結果集的結尾。請注意,處理程序聲明必須出現在存儲過程中的變量和游標聲明之后。我們再來看下mysql游標的運行原理圖:

咱們接下來,就要開發一個存儲過程用來獲取employees表中所有員工的電子郵件列表。我們先來聲明一些變量,一個用于循環員工電子郵件的游標和一個NOT FOUND處理程序:

DECLARE finished INTEGER DEFAULT 0;
DECLARE email varchar(255) DEFAULT "";
-- declare cursor for employee email
DEClARE email_cursor CURSOR FOR
 SELECT email FROM employees;
-- declare NOT FOUND handler
DECLARE CONTINUE HANDLER
FOR NOT FOUND SET finished = 1;
接下來,使用OPEN語句打開email_cursor:
OPEN email_cursor;

然后,迭代電子郵件列表,并使用分隔符(;)連接每個電子郵件:

get_email: LOOP
 FETCH email_cursor INTO v_email;
 IF v_finished = 1 THEN
 LEAVE get_email;
 END IF;
 -- build email list
 SET email_list = CONCAT(v_email,";",email_list);
END LOOP get_email;

之后,我們在循環中,使用v_finished變量來檢查列表中是否有任何電子郵件來終止循環,完事呢,使用CLOSE語句關閉游標:

CLOSE email_cursor;

我們來看下build_email_list存儲過程所有代碼:

DELIMITER $$
CREATE PROCEDURE build_email_list (INOUT email_list varchar(4000))
BEGIN
 DECLARE v_finished INTEGER DEFAULT 0;
    DECLARE v_email varchar(100) DEFAULT "";
 -- declare cursor for employee email
 DEClARE email_cursor CURSOR FOR
 SELECT email FROM employees;
 -- declare NOT FOUND handler
 DECLARE CONTINUE HANDLER
    FOR NOT FOUND SET v_finished = 1;
 OPEN email_cursor;
 get_email: LOOP
 FETCH email_cursor INTO v_email;
 IF v_finished = 1 THEN
 LEAVE get_email;
 END IF;
 -- build email list
 SET email_list = CONCAT(v_email,";",email_list);
 END LOOP get_email;
 CLOSE email_cursor;
END$$
DELIMITER ;

我們來使用以下腳本測試build_email_list存儲過程:

SET @email_list = "";
CALL build_email_list(@email_list);
SELECT @email_list;

至于結果,咱就不贅述了哈。

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL存儲過程技巧大全》、《MySQL常用函數大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》及《MySQL數據庫鎖相關技巧匯總》

希望本文所述對大家MySQL數據庫計有所幫助。

您可能感興趣的文章:
  • MySQL 游標的定義與使用方式
  • Mysql 存儲過程中使用游標循環讀取臨時表
  • mysql聲明游標的方法
  • 詳解Mysql 游標的用法及其作用
  • mysql游標的原理與用法實例分析
  • 帶你徹底搞懂python操作mysql數據庫(cursor游標講解)
  • MySQL游標概念與用法詳解
  • mysql的存儲過程、游標 、事務實例詳解
  • Mysql存儲過程中游標的用法實例
  • Mysql存儲過程循環內嵌套使用游標示例代碼
  • MySQL存儲過程中游標循環的跳出和繼續操作示例
  • MySQL 游標的作用與使用相關

標簽:果洛 黃石 煙臺 河北 赤峰 鞍山 來賓 陽江

巨人網絡通訊聲明:本文標題《mysql存儲過程之游標(DECLARE)原理與用法詳解》,本文關鍵詞  mysql,存儲,過程,之,游標,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql存儲過程之游標(DECLARE)原理與用法詳解》相關的同類信息!
  • 本頁收集關于mysql存儲過程之游標(DECLARE)原理與用法詳解的相關信息資訊供網民參考!
  • 推薦文章
    国产精品1024永久免费视频| 日韩免费在线| 91麻豆国产| 日韩在线观看免费| 深夜做爰性大片中文| 91麻豆精品国产综合久久久| 国产亚洲精品成人a在线| 99色播| 久久久久久久男人的天堂| 欧美大片一区| 国产成人精品影视| 国产激情视频在线观看| 可以免费在线看黄的网站| 欧美激情一区二区三区在线播放| 日本伦理黄色大片在线观看网站| 午夜精品国产自在现线拍| 精品国产香蕉在线播出| 在线观看成人网| 成人在激情在线视频| 色综合久久天天综线观看| 欧美激情一区二区三区视频高清| 欧美激情影院| 国产视频在线免费观看| 亚欧乱色一区二区三区| 国产成人精品一区二区视频| 亚洲 激情| 国产极品精频在线观看| 一级女性全黄生活片免费| 麻豆网站在线看| 久久99中文字幕久久| 毛片高清| 日韩中文字幕在线观看视频| 欧美国产日韩一区二区三区| 一级毛片视频在线观看| 国产伦精品一区三区视频| 国产伦精品一区二区三区在线观看 | 亚洲天堂在线播放| 精品视频一区二区三区| 99久久精品费精品国产一区二区| 成人免费观看的视频黄页| 午夜精品国产自在现线拍| 免费国产一级特黄aa大片在线| 亚洲第一页色| 欧美一级视频高清片| 久久精品大片| 国产成人精品综合在线| 黄视频网站在线免费观看| 四虎影视久久久免费| 亚欧乱色一区二区三区| 黄视频网站在线免费观看| 美女被草网站| 久久99中文字幕| 四虎影视库| 青青久久国产成人免费网站| 午夜在线亚洲| 99久久精品国产片| 欧美另类videosbestsex高清| 日本伦理网站| 沈樵在线观看福利| 国产成人欧美一区二区三区的| 欧美另类videosbestsex视频| 精品视频在线观看一区二区三区| 免费的黄色小视频| 国产亚洲精品aaa大片| 久久精品免视看国产成人2021| 免费国产在线观看不卡| 国产成人精品综合在线| 国产成a人片在线观看视频| 一本高清在线| 久久精品成人一区二区三区| 精品视频在线看 | 成人影院一区二区三区| 精品国产三级a| 91麻豆精品国产自产在线| 一级女性大黄生活片免费| 美女免费精品高清毛片在线视| 久久久成人网| 香蕉视频久久| 国产网站在线| 日本特黄特色aaa大片免费| 亚欧成人乱码一区二区| 麻豆污视频| 精品视频在线看 | 亚洲爆爽| 91麻豆精品国产高清在线| 韩国毛片免费大片| 国产伦久视频免费观看视频| 欧美激情一区二区三区在线播放 | 亚飞与亚基在线观看| 欧美另类videosbestsex高清| 精品国产一区二区三区免费 | 香蕉视频亚洲一级| 国产a毛片| 国产极品白嫩美女在线观看看| 中文字幕一区二区三区 精品| 亚飞与亚基在线观看| 久草免费在线观看| 日韩免费在线视频| 国产91丝袜在线播放0| 999精品影视在线观看| 日韩中文字幕在线亚洲一区| 91麻豆精品国产片在线观看| 日韩综合| 尤物视频网站在线观看| 二级特黄绝大片免费视频大片| 欧美18性精品| 国产精品免费久久| 精品在线观看国产| 高清一级毛片一本到免费观看| 国产高清在线精品一区a| 国产麻豆精品视频| 国产成人欧美一区二区三区的| 国产亚洲精品aaa大片| 午夜家庭影院| 欧美a级片免费看| 日本免费区| 精品国产香蕉在线播出| 四虎久久影院| 麻豆午夜视频| 99热视热频这里只有精品| 四虎久久精品国产| 成人免费观看网欧美片| 韩国三级视频网站| 99色播| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 高清一级淫片a级中文字幕| 日日日夜夜操| 精品国产一区二区三区久| 日本免费乱人伦在线观看| 国产不卡精品一区二区三区| 色综合久久手机在线| 一本高清在线| 色综合久久天天综线观看| 日韩综合| 九九久久99| 亚洲精品中文一区不卡| 九九久久99| 国产成a人片在线观看视频| 91麻豆精品国产综合久久久| 免费的黄视频| 欧美一区二区三区在线观看| 一级女性全黄生活片免费| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 久久99中文字幕久久| 国产视频久久久| 高清一级淫片a级中文字幕| 国产a一级| 国产伦久视频免费观看视频| 深夜做爰性大片中文| 国产视频在线免费观看| 二级特黄绝大片免费视频大片| 亚洲精品久久玖玖玖玖| 国产麻豆精品高清在线播放| 成人影院一区二区三区| 精品国产一区二区三区免费 | 精品久久久久久综合网| 在线观看导航| 四虎影视久久久免费| 久久国产精品只做精品| 国产不卡在线观看| 亚洲精品影院久久久久久| 亚飞与亚基在线观看| 四虎久久影院| 亚洲精品久久玖玖玖玖| 日本在线不卡视频| 日本特黄一级| 九九久久99| 麻豆午夜视频| 免费毛片播放| 午夜在线亚洲男人午在线| 日韩av片免费播放| 日本伦理片网站| 亚洲精品久久久中文字| 成人在免费观看视频国产| 国产91丝袜在线播放0| 国产伦理精品| 91麻豆精品国产自产在线| 国产一区二区精品在线观看| 99热视热频这里只有精品| 91麻豆tv| 免费国产在线视频| 韩国毛片免费| 久久精品欧美一区二区| 亚洲精品影院一区二区| 成人免费一级纶理片| 精品国产亚一区二区三区| 日韩中文字幕在线亚洲一区| 国产极品精频在线观看| a级黄色毛片免费播放视频| 欧美一区二区三区在线观看| 成人a级高清视频在线观看| 日韩在线观看网站| 99色播| 久久99中文字幕久久| 九九免费精品视频| 亚洲精品永久一区| 精品在线观看国产| 欧美激情伊人| 99久久网站| 一级毛片视频免费|