mysql 存儲過程實現搬表
阿新 • • 發佈:2017-11-29
mysql 存儲過程 實現簡單搬表,使用遊標循環
第一行 DELIMITER //和最後一行的//必須,否則遇到分號就報錯
DELIMITER // create procedure movedata() BEGIN DECLARE Done INT DEFAULT 0; DECLARE v_id VARCHAR(30); /* 聲明遊標 */ DECLARE rs CURSOR FOR SELECT id FROM `new`.customer; /* 異常處理 */ DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1; /* 打開遊標 */ OPEN rs; /* 逐個取出當前記錄LingQi字段的值,需要進行最大值的判斷 */ FETCH rs INTO v_id; /* 遍歷數據表 */ REPEAT IF NOT Done THEN insert into `old`.customer(id,idcard_no) (select id+100000,idcard_no from `new`.customer where id = v_id); END IF; FETCH rs INTO v_id; UNTIL Done END REPEAT; /* 關閉遊標 */ CLOSE rs; END //
mysql 存儲過程實現搬表