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

来源:互联网 发布:ubuntu 卸载软件 编辑:程序博客网 时间:2024/05/20 06:30
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 ;

0 0
原创粉丝点击