DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER `pdhmanagementsys`.`tri_devlist_insert` AFTER INSERT
ON dev_list
FOR EACH ROW BEGIN
DECLARE done INT DEFAULT 0;
DECLARE DAttributeName VARCHAR(20);
DECLARE DAttribute_ID INT;
DECLARE DRemark VARCHAR(50);
DECLARE mycursor CURSOR FOR SELECT `Attribute_ID`,`Dev_Attribute`,`Dev_Remark` FROM `device_attribute` WHERE `Dev_Type` =new.`Dev_Type`;
DECLARE EXIT HANDLER FOR NOT FOUND CLOSE mycursor; //这里需加 否则会多出一行
OPEN mycursor;
REPEAT
FETCH NEXT FROM mycursor INTO DAttribute_ID,DAttributeName,DRemark;
BEGIN
INSERT INTO `device_value` (`Device_ID`,`RMUID`,`AttributeID`,`Attribute`,`Remark`) VALUES(new.ID,new.`RMU_ID`,DAttribute_ID,DAttributeName,DRemark);
END;
UNTIL 0 END REPEAT; //这里需加 否则会多出一行
CLOSE mycursor;
END$$
DELIMITER ;
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER `pdhmanagementsys`.`tri_devlist_insert` AFTER INSERT
ON dev_list
FOR EACH ROW BEGIN
DECLARE done INT DEFAULT 0;
DECLARE DAttributeName VARCHAR(20);
DECLARE DAttribute_ID INT;
DECLARE DRemark VARCHAR(50);
DECLARE mycursor CURSOR FOR SELECT `Attribute_ID`,`Dev_Attribute`,`Dev_Remark` FROM `device_attribute` WHERE `Dev_Type` =new.`Dev_Type`;
DECLARE EXIT HANDLER FOR NOT FOUND CLOSE mycursor; //这里需加 否则会多出一行
OPEN mycursor;
REPEAT
FETCH NEXT FROM mycursor INTO DAttribute_ID,DAttributeName,DRemark;
BEGIN
INSERT INTO `device_value` (`Device_ID`,`RMUID`,`AttributeID`,`Attribute`,`Remark`) VALUES(new.ID,new.`RMU_ID`,DAttribute_ID,DAttributeName,DRemark);
END;
UNTIL 0 END REPEAT; //这里需加 否则会多出一行
CLOSE mycursor;
END$$
DELIMITER ;