Mysqlカーソルの遍歴
1031 ワード
DELIMITER $$
USE `snhel`$$
DROP PROCEDURE IF EXISTS `copy`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `copy`()
BEGIN
DECLARE ID2 INTEGER;//
DECLARE PRODUCTCODE2 VARCHAR(100);//
DECLARE PRODUCTNAME2 VARCHAR(100);// ,
DECLARE done INT DEFAULT 0;
DECLARE copyRecords CURSOR FOR SELECT ID,PRODUCTCODE,PRODUCTNAME FROM producteffect;// ,
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1; //
START TRANSACTION;//
OPEN copyRecords;//
flag:LOOP//
FETCH copyRecords INTO ID2,PRODUCTCODE2,PRODUCTNAME2;// , , 。
IF done = 1 THEN LEAVE flag; END IF;// ,
REPLACE INTO backups(ID,PRODUCTCODE, SHOPCODE) VALUES (ID2,PRODUCTCODE2,PRODUCTNAME2);// ,
END LOOP;
CLOSE copyRecords;//
COMMIT;//
END$$
DELIMITER ;