欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

mysql的存儲過程、游標、事務有什么用

這篇文章給大家分享的是有關(guān)MySQL的存儲過程、游標 、事務有什么用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)咨詢熱線:18982081108,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務,成都創(chuàng)新互聯(lián)網(wǎng)頁制作領(lǐng)域十年,包括LED顯示屏等多個行業(yè)擁有豐富的營銷推廣經(jīng)驗,選擇成都創(chuàng)新互聯(lián),為網(wǎng)站保駕護航!

mysql的存儲過程、游標 、事務實例詳解

下面是自己曾經(jīng)編寫過的mysql數(shù)據(jù)庫存儲過程,留作存檔,以后用到的時候拿來參考。

其中,涉及到了存儲過程、游標(雙層循環(huán))、事務。

【說明】:代碼中的注釋只針對當時業(yè)務而言,無須理會。

代碼如下:

DELIMITER $$
DROP PROCEDURE IF EXISTS `transferEmailTempData`$$

CREATE PROCEDURE transferEmailTempData(IN jobId VARCHAR(24))
BEGIN
  DECLARE idval VARCHAR(24) DEFAULT '';
  DECLARE taskIdval VARCHAR(24) DEFAULT '';
  DECLARE groupIdval VARCHAR(24) DEFAULT '';
  DECLARE emailval VARCHAR(50) DEFAULT '';
  
  /*標識正式表是否存在一條相同數(shù)據(jù),即:groupId、email相同*/
  DECLARE infoId VARCHAR(24) DEFAULT '';
  
  /*標識事務錯誤*/
  DECLARE err INT DEFAULT 0;
  
  /*達到一定數(shù)量就進行提交,計數(shù)器*/
  DECLARE counts INT DEFAULT 0;
  
  /*標識是否回滾過*/
  DECLARE isrollback INT DEFAULT 0;
  
  /*游標遍歷時,作為判斷是否遍歷完全部記錄的標記*/
  DECLARE done INTEGER DEFAULT 0;
  
  /*獲取臨時表該任務的數(shù)據(jù)*/
  DECLARE cur CURSOR FOR SELECT id,taskId,groupId,email FROM `t_email_data_temp` WHERE taskId=jobId;
  
  /*根據(jù)群組id、email查詢是否存在相同記錄*/
  DECLARE cur2 CURSOR FOR SELECT id FROM `t_email_info` e WHERE e.`group_id` = groupIdval AND e.`email_address` = emailval; 
  
  /* 出現(xiàn)錯誤,設(shè)置為1,只要發(fā)生異常就回滾*/
  DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET err=1;
  
  /*聲明當游標遍歷完全部記錄后將標志變量置成某個值*/
  DECLARE CONTINUE HANDLER FOR NOT FOUND
  SET done=1;
  
  /*開啟事務*/
  START TRANSACTION;
  
  /*打開游標*/
  OPEN cur;
  
  /*使用LOOP循環(huán)遍歷*/
  out_loop:LOOP
  
    /*將每一條結(jié)果對應的字段值賦值給變量*/
    FETCH cur INTO idval,taskIdval,groupIdval,emailval;
    IF done = 1 THEN
      LEAVE out_loop;
    END IF;
    
    /*打開第二個游標*/
    OPEN cur2;
      SET done = 0;
      FETCH cur2 INTO infoId;
      
      /*如果正式表不存在相同groupId and email記錄,添加到正式表*/
      IF done = 1 THEN
      
        /*插入正式表*/
        INSERT INTO `t_email_info` VALUES(idval,emailval,groupIdval,0,'',NOW(),'admin',NOW(),'admin');
        
        /*刪除臨時數(shù)據(jù)*/
        DELETE FROM `t_email_data_temp` WHERE id = idval;
        
        /*計數(shù)器,每1000條才提交*/
        SET counts = counts + 1;
        
        /*發(fā)生異常,回滾*/
        IF err=1 THEN
          SET isrollback=1;
          ROLLBACK;
        ELSE
          IF counts = 1000 THEN
            COMMIT;
            /*達到1000條提交后,重置計數(shù)器*/
            SET counts=0;
          END IF;
        END IF;
      ELSE
        /*已經(jīng)存在相同記錄,則刪除該記錄*/
        IF done=0 THEN
          DELETE FROM `t_email_data_temp` WHERE id = idval;
        END IF;
      END IF;
      FETCH cur2 INTO infoId;
    CLOSE cur2;
    
    /*控制外部的循環(huán),該步驟不能缺少,否則只循環(huán)一次就結(jié)束了*/
    SET done=0;
    
  END LOOP out_loop;
  CLOSE cur;
  
  /*如果沒有發(fā)生過回滾事件,則更新task狀態(tài)*/
  /*如果回滾過,不更新task狀態(tài),下次執(zhí)行任務的時候,會再次將剩余沒有提交的數(shù)據(jù)進行添加到正式表*/
  IF isrollback=0 THEN
    UPDATE `t_email_task` t SET t.`if_finish` = 1 WHERE t.`id`=jobId;
  END IF;
  
  END$$

DELIMITER ;

感謝各位的閱讀!關(guān)于mysql的存儲過程、游標 、事務有什么用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

分享文章:mysql的存儲過程、游標、事務有什么用
文章路徑:http://chinadenli.net/article8/joigop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、電子商務、App設(shè)計、軟件開發(fā)、品牌網(wǎng)站建設(shè)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設(shè)
日本在线 一区 二区| 欧美中文字幕日韩精品| 99国产成人免费一区二区| 黄片三级免费在线观看| 精品推荐国产麻豆剧传媒| 久热香蕉精品视频在线播放| 亚洲黄片在线免费小视频| 国产精品第一香蕉视频| 日本高清一区免费不卡| 国产亚洲欧美自拍中文自拍| 丰满熟女少妇一区二区三区| 偷拍偷窥女厕一区二区视频| 最近的中文字幕一区二区| 午夜福利激情性生活免费视频| 国产精品一区二区丝袜| 日韩综合国产欧美一区| 亚洲精品av少妇在线观看| 蜜桃传媒视频麻豆第一区| 国产又长又粗又爽免费视频| 在线一区二区免费的视频| 日本办公室三级在线观看| 亚洲欧美国产中文色妇| 久久精品伊人一区二区| 欧美人妻少妇精品久久性色 | 粉嫩国产一区二区三区在线| 加勒比东京热拍拍一区二区| 欧美不卡午夜中文字幕| 日韩欧美国产三级在线观看| 色偷偷偷拍视频在线观看| 中文字幕在线五月婷婷| 国产剧情欧美日韩中文在线| 人妻中文一区二区三区| 亚洲天堂有码中文字幕视频| 少妇丰满a一区二区三区| 香蕉尹人视频在线精品| 又色又爽又无遮挡的视频| 亚洲一区二区三区日韩91| 免费久久一级欧美特大黄孕妇| 精品亚洲一区二区三区w竹菊| 国产一级精品色特级色国产| 亚洲视频偷拍福利来袭|