sql存储过程实例sql_存储过程、函数、分⽀、循环1.存储过程
⼀、创建 ★
create procedure 存储过程名(参数模式 参数名 参数类型)
begin
存储过程体
end
注意:
1.参数模式:in、out、inout,其中in可以省略
2.存储过程体的每⼀条sql语句都需要⽤分号结尾
⼆、调⽤
call 存储过程名(实参列表)
举例:
调⽤in模式的参数:call sp1(‘值’);
调⽤out模式的参数:set @name; call sp1(@name);select @name;
调⽤inout模式的参数:set @name=值; call sp1(@name); select @name;
三、查看
show create procedure 存储过程名;
四、删除
drop procedure 存储过程名;
2.函数
⼀、创建
create function 函数名(参数名 参数类型) returns 返回类型
begin
函数体
end
注意:函数体中肯定需要有return语句
⼆、调⽤
select 函数名(实参列表);
三、查看
show create function 函数名;
四、删除
drop function 函数名;
3 .分⽀结构
功能:实现简单双分⽀
语法:
if(条件,值1,值2)
位置:
可以作为表达式放在任何位置
2、case结构
功能:实现多分⽀
语法1:
case 表达式或字段
when 值1 then 语句1;
when 值2 then 语句2;
…
else 语句n;
end [case];
语法2:
case
when 条件1 then 语句1;
when 条件2 then 语句2;
…
else 语句n;
end [case];
位置:
可以放在任何位置,
如果放在begin end 外⾯,作为表达式结合着其他语句使⽤
如果放在begin end ⾥⾯,⼀般作为独⽴的语句使⽤
3、if结构
功能:实现多分⽀
语法:
if 条件1 then 语句1;
elseif 条件2 then 语句2;
…
else 语句n;
end if;
位置:
只能放在begin end中
4.循环结构
位置:
只能放在begin end中
特点:都能实现循环结构
对⽐:
①这三种循环都可以省略名称,但如果循环中添加了循环控制语句(leave或iterate)则必须添加名称②
loop ⼀般⽤于实现简单的死循环
while 先判断后执⾏
repeat 先执⾏后判断,⽆条件⾄少执⾏⼀次
【名称:】while 循环条件 do
循环体
end while 【名称】;
2、loop
语法:
【名称:】loop
循环体
end loop 【名称】;
3、repeat
语法:
【名称:】repeat
循环体
until 结束条件
end repeat 【名称】;
⼆、循环控制语句
leave:类似于break,⽤于跳出所在的循环
iterate:类似于continue,⽤于结束本次循环,继续下⼀次
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论