mysql存储过程循环语句简单例子

本文通过多个SQL存储过程实例,详细介绍了如何在SQL中使用存储过程和变量进行复杂操作,包括输入参数、输出参数、修改变量值以及循环执行等高级特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

delimiter //
create procedure proc1(out s int)
begin
select count(*) from into s from mysql.users;
end;
//




call proc1(@s);
select @s;






create procedure pin(in p_in int)
begin
select p_in;
set p_in=2;
select p_in;
end;
//




set @p_in=1;
call pin(@p_in);






create procedure pout(out p_out int)
begin
select p_out;
set p_out=2;
select p_out;
end;
//




create procedure pinout( inout p_inout int)
begin
select p_inout;
set p_inout=2;
select p_inout;
end;
//




create procedure pt3(n1 int)
begin
set @x=0;
repeat set @x=@x+1;
insert into t3 values(@x);
until @x > n1
end repeat;
end;
//




create procedure proc2(in p1 int)
begin
declare var int;
set var=p1+1;
if var=1 then instert into t values(11);
end if;
if var=2 then insert into t values(22);
else insert into t values(33);
end if;
end;
//




create procedure proc3(in p1 int)
begin
declare var int;
set var p1+1;
case var 
when 1 then insert into t values(17);
when 2 then insert into t values(18);
else insert into t values(19);
end case;
end;
//




create procedure proc4()
begin
declare var int;
set var=0;
while var<6 do
insert into t value(var);
set var=var+1;
end while;
end;
//




create procedure proc5()
begin
declare v int;
set v=0;
repeat
insert into t values(v);
set v=v+1;
until v>=5
end repeat;
end;
//




create procefure proc6()
begin
declare v int;
st v=0;
LOOP_LABLE:loop
insert into t values(v);
set v=v+1;
if v>=5 then
leave LOOP_LABLE;
end if
end loop;
end;
//




create procedure proc7()
begin
declare v int default 0;
LOOP_LABLE:loop
set v=v+1;
if v<10 then iterate LOOP_LABLE;
elseif v>20 then LEAVE LOOP_LABLE;
else select 'v is between 10 and 20';
end if
end loop LOOP_LABLE;
end;

//


declare ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值