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

首頁 > 數據庫 > MySQL > 正文

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

2024-07-24 12:32:41
字體:
來源:轉載
供稿:網友
       在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 ;

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 古田县| 广宁县| 资中县| 武川县| 浪卡子县| 改则县| 子长县| 武鸣县| 武夷山市| 永吉县| 景宁| 扬州市| 成都市| 肥西县| 马边| 满城县| 长垣县| 类乌齐县| 铁力市| 马山县| 济南市| 景德镇市| 黄浦区| 上虞市| 巴林右旗| 启东市| 阳原县| 吉安县| 兴化市| 平昌县| 固镇县| 剑河县| 宁海县| 绥宁县| 花莲县| 扶沟县| 治多县| 扎鲁特旗| 石家庄市| 寿光市| 德州市|