一、存储过程:变量的声明和赋值。delimiter $ create procedure p1() begin declare age int default 18; set age :=age+
一、存储过程:变量的声明和赋值。
delimiter $
create procedure p1()
begin
declare age int default 18;
set age :=age+20;或者 set age =age+20
select age from dual;
end$
调用存储过程:call p1(); 其结果是如下:
二、存储过程:if 控制语句。
delimiter $
create procedure p2()
begin
declare age int default 18;
if age>=18 then
select '已成年' ;
else
select '未成年';
end if;
end$
调用存储过程:call p2(); 其结果是如下:
三、存储过程:输入参数。
计算一个矩形的面积,并判断是胖fat? 瘦then? 还是方square?
delimiter $
create procedure p3(w int ,h int)
begin
select concat('area:',w*h);
if w > h then
select 'fat';
elseif w < h then
select 'then';
else
select 'square';
end if;
end$
四、存储过程:while循环
求1到100的和。
delimiter $
create procedure p100()
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$
调用存储过程:call p100(); 其结果是如下:
五、存储过程:输出参数:
求1到n的和。
delimiter $
create procedure p8(in n int ,out total int)
begin
set total=0;
declare num int default 0;
while num<=n do
set total=total+num;
set num=num+1;
end while;
end$
调用存储过程:call p8(100,@sumary); select @sumary; 其结果是如下:
六、存储过程:输入输出参数:
delimiter $
create procedure p9(inout age int)
begin
set age =age+20;
end $
调用存储过程:set @currentage=18; call p9(@currentage) ;select @currentage; 其结果是如下:
七、存储过程:case控制语句:
delimiter $
create procedure p10()
begin
declare pos int default 0;
set pos=floor(4*rand()) ;
case pos
when 1 then select 'haha';
when 2 then select 'hehe';
else select 'heihei';
end case;
end $
八、存储过程:repeat控制语句:
delimiter $
create procedure p11()
begin
declare i int default 0;
declare total int default 0;
repeat
set i=i+1;
set total =total +i;
until i>=100 end repeat;
select total;
end$
九、调用存储过程 call:
call procedure_Name();
--结束END--
本文标题: mysql基础四 存储过程
本文链接: https://lsjlt.com/news/35965.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0