创建存储过程
MySQL中,创建存储过程的基本形式如下:
delimiter $$;
CREATE PROCEDURE 名称(参数列表)
BEGIN
SQL语句块
End
$$;
delimiter;
存储过程中变量的定义
变量定义:
–declare 变量名 数据类型 default 默认值
存储过程定义变量实例
delimiter $$;
create procedure test_p5(id int,phone int) #传参两个
begin
declare s_name varchar(12); #定义一个变量,没有默认值
declare sex varchar(10) default '男'; #定义变量赋默认值
set id = id+1;
set s_name = '安大叔'; #变量复制
insert into students values (id,s_name,phone,sex);
end
$$;
delimiter;
存储过程中的while循环
•while是一种循环的语句,我们经常使用while来造数据
•while语句格式:
–while 条件 do
–sql语句
–end while;
while循环实例
delimiter $$;
create procedure test_p15(count int)
begin
declare name varchar(20);
declare phone int(20);
declare i int;
set i = 0;
REPEAT
set name=CONCAT('测试',i);
insert into student(Name,Sex,age,class,Addr)
values('name','男',i,'索隆','辽宁省阜新市'); //sql插入语句
set i=i+1;
until i>count
end REPEAT;
end
$$;
delimiter;
存储过程中的repeat循环
•repeat和while一样,也是一种循环的语句,和while不一样的事,repeat循环至少会执行一次。
•repeat语句格式:
–repeat
–sql语句
–until 条件
–end repeat;
repeat循环实例
delimiter $$;
create procedure test_p11(count int)
begin
declare name varchar(20);
declare phone int(20);
declare i int;
set i = 0;
while i<count do
set name=CONCAT('计算机',i);
insert into Score(Stu_id,C_name,Grade)values(i,name,i); //sql插入语句
set i=i+1;
end while;
end
$$;
delimiter;
存储函数进行创建后 运行call test_p11(500),即可创建批量数据