Mysql存储过程的创建和执行

it2023-07-22  71

假设有一个需求,向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语句,查看输入是否插入成功:

最新回复(0)