delimiter $ 修改定界符
//创建存储过程
create procedure p1()
begin
select * from salary;
end$
//调用存储过程
call p1()$
//查看已经有的存储过程
show procedure status$
//删除
drop procedure sp_name
//引入变量
create procedure p1()
begin
declare age int default 20;
declare height int default 180;
select CONCAT('年龄是:',age,'身高是:',height);
end$
//运算
create procedure p2()
begin
declare age int default 20;
set age:=age+20;
select CONCAT('20年后年龄是:',age);
end$
//if else 语句
create procedure p3()
begin
declare age int default 20;
if age>=18 then
select '已成年';
else
select '未成年';
end if;
end$
//传参数[in out inout]
create procedure p4(width int,height int)
begin
select concat("面积:",width*height);
end$
//in 参数
create procedure p6(in n int)
begin
declare total int default 0;
declare num int default 0;
while num<=n do
set total:=total+num;
set num:=num+1;
end while;
select total;
end$
//out 参数
create procedure p7(in n int,out total int)
begin
declare num int default 0;
set total:=0;
while num<=n do
set total:=total+num;
set num:=num+1;
end while;
end$
//inout
create procedure p8(inout age int)
begin
set age:=age+20;
end$
//while 循环
create procedure p5()
begin
declare total int default 0;
declare num int default 0;
while num<=100 do
set total:=total+num;
set num:=num+1;
end while;
select total;
end$
//case
create procedure p9(in num int)
begin
case num
when 1 then select 'one';
when 2 then select 'two';
when 3 then select 'three';
else select 'other';
end case;
end$
mysql 存储过程
最新推荐文章于 2025-06-25 22:43:14 发布