mysql存储过程批量插入数据

DROP TABLE IF EXISTS TeachersInfo;

CREATE TABLE TeachersInfo
(
id INT NOT NULL AUTO_INCREMENT,
teacherCode VARCHAR(20) NULL,
teacherName VARCHAR(30) NULL,
roleID VARCHAR(20) NULL,
SUBJECT INT NULL,
CONSTRAINT PK_TEACHERSINFO PRIMARY KEY clustered (id)
);

COMMENT ON TABLE TeachersInfo IS
'教师表';

#创建存储过程导入数据

DELIMITER $$

CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
PROCEDURE `basedatabase`.`teachersinfoproc`(IN s INT)
/*LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'*/
BEGIN
DECLARE i INT;
DECLARE tcode VARCHAR(50);
SET i = 0;
WHILE i < s DO
SET tcode = 'tcode' + i;
INSERT INTO `teachersinfo` (
`teacherCode`,
`teacherName`,
`roleID`,
`subject`
)
VALUES
(
tcode,
'teacherName',
'roleID',
'subject'
) ;

SET i = i+1;
END WHILE;

END$$

DELIMITER ;

原文地址:https://www.cnblogs.com/wshsdlau/p/5607681.html