假设有一个需求,向stu表中插入n条新数据,可使用存储过程来进行数据的插入。
1、创建stu表
create table stu1 (id int primary key, name varchar(100),age int,sex varchar(2));2、创建有参数的存储过程
delimiter // create procedure sp_stu_insert(in num int) begin declare i int; set i=1; while i<=num do insert into stu values(i,concat('tester',i),18,'女'); set i=i+1; end while; end // delimiter ;需要注意的几点: 1)存储过程支持输入和输出参数,格式为create procedure 存储过程名称(in 变量1 数据类型1,out 变量2 数据类型2) 2)存储过程中支持if、while、repeat、for等分支语句,具体语句的格式可自行百度。
3、创建无参数的存储过程
delimiter // create procedure sp_stu_insert2() begin declare i int; set i=101; while i<201 do insert into stu values(i,concat('tester',i),18,'女'); set i=i+1; end while; end // delimiter ;4、执行存储过程,格式为:call 存储过程名称(参数)
call sp_stu_insert(100); call sp_stu_insert2()5、使用select * from stu语句,查看输入是否插入成功: