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

首頁 > 數據庫 > MySQL > 正文

MySQL 存儲過程空結果集錯誤Error 1329 No data 的異常處理

2024-07-24 12:34:31
字體:
來源:轉載
供稿:網友
  在MySQL的存儲過程中,當查詢到空結果集時會產生下面報錯
  Error 1329 No data - zero rows fetched, selected, or processed
 
  解決方法:
  在存儲過程中,添加異常處理
  注意代碼中的橙色部分的異常代碼
  delimiter $$
  CREATE PROCEDURE PROC_ADDSubscribers_diff()
  BEGIN
  DECLARE done INT DEFAULT FALSE;
  DECLARE Var_IMSI_NODE2 varchar(16);
  DECLARE Var_MSISDN_NODE2 varchar(19);
  DECLARE Var_IMEI_NODE2 varchar(16);
  DECLARE Var_Timestamp_NODE2 bigint(32);
  DECLARE Var_IMSI_NODE1 varchar(16);
  DECLARE Var_MSISDN_NODE1 varchar(19);
  DECLARE Var_IMEI_NODE1 varchar(16);
  DECLARE Var_Timestamp_NODE1 bigint(32);
  DECLARE Var_sqlcode INT DEFAULT 0;
  DECLARE cur1 CURSOR FOR select IMSI, MSISDN, IMEI, Timestamp from ADDSubscribers_node2;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
    OPEN cur1;
    read_loop: LOOP
    FETCH cur1 INTO Var_IMSI_NODE2, Var_MSISDN_NODE2, Var_IMEI_NODE2, Var_Timestamp_NODE2;
      IF done IS TRUE THEN
      LEAVE read_loop;
      END IF;
    IF done IS FALSE THEN
          IF (Var_IMSI_NODE2 is not null) THEN
          BEGIN
          DECLARE no_data CONDITION FOR 1329;
          DECLARE CONTINUE HANDLER FOR no_data
          BEGIN
          SET Var_sqlcode=2000;
          END;
          select Timestamp, MSISDN, IMEI INTO Var_Timestamp_NODE1, Var_MSISDN_NODE1, Var_IMEI_NODE1 from dmcdbMTNGH.ADDSubscribers where IMSI = Var_IMSI_NODE2;
              IF Var_sqlcode = 2000 THEN
                  start transaction;
                  INSERT INTO ADDSubscribers_diff SELECT * FROM ADDSubscribers_node2 WHERE IMSI = Var_IMSI_NODE2;
                  commit;
              ELSEIF Var_sqlcode = 0 THEN
                  IF Var_Timestamp_NODE1 >= Var_Timestamp_NODE2 THEN
                      select concat('The data on node01 is newer!') as Info;
                  ELSE
                      IF (Var_MSISDN_NODE1 <> Var_MSISDN_NODE2) || (Var_IMEI_NODE1 <> Var_IMEI_NODE2) THEN
                      start transaction;
                      INSERT INTO ADDSubscribers_diff SELECT * FROM ADDSubscribers_node2 WHERE IMSI = Var_IMSI_NODE2;
                      commit;
                      END IF;
                  END IF;
              END IF;
          END;
          END IF;
    END IF;
    END LOOP;
    CLOSE cur1;
    select concat('The job',' is ','finished!') as Info;
  END$$
  delimiter ;

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高邮市| 马山县| 金门县| 温州市| 岐山县| 南郑县| 太仆寺旗| 临城县| 临江市| 恩施市| 彝良县| 九龙县| 东丰县| 应城市| 松溪县| 城市| 新乡市| 郸城县| 巫山县| 贵港市| 兴业县| 都江堰市| 安吉县| 石景山区| 乌兰察布市| 武川县| 垦利县| 秦皇岛市| 炉霍县| 娱乐| 赤峰市| 垣曲县| 灵石县| 焦作市| 滕州市| 平阳县| 玛沁县| 临西县| 寻甸| 比如县| 大关县|