您的位置:首页 > 数据库 > MySQL

mysql使用游标 触发一次 插入多条记录

2017-02-18 21:35 651 查看
DROP TRIGGER IF EXISTS `AutoInsert`;
CREATE DEFINER=`root`@`localhost` TRIGGER `AutoInsert` AFTER INSERT ON `ml_exam` FOR EACH ROW
begin
DECLARE var_KAOHAO VARCHAR(50);
DECLARE var_KAOSHIHAO VARCHAR(50);
DECLARE var_count INT;
DECLARE STUDENT_CURSOR CURSOR FOR (SELECT KAOHAO FROM `ML_STUDENT`);
SET var_KAOSHIHAO = NEW.KAOSHIHAO;
SELECT COUNT(*) INTO var_count FROM `ML_STUDENT`;
OPEN STUDENT_CURSOR;
WHILE var_count>0 DO
FETCH STUDENT_CURSOR INTO var_KAOHAO;
INSERT INTO ML_SCORE(KAOHAO,KAOSHIHAO) VALUES(var_KAOHAO,var_KAOSHIHAO);
SET var_count = var_count -1;
END WHILE;
CLOSE STUDENT_CURSOR;
end;

1.所有的 变量的声明一定要在最前面,不能在后面声明,否则会报错

2. 这里使用了while循环来多次插入
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: