mysql 存储过程
***************************
存储过程
创建存储过程
create procedure procedure_name (参数体)
begin
。。。
end
参数体格式:in | out | inout param_name type,参数体可为空
in:输入参数
out:输出参数
inout:输入输出参数
调用存储过程:call procedure_name(param1,param2,...)
查看所有存储过程:show procedure status
查看指定存储过程:show procedure status like ‘%...%’
删除存储过程:drop procedure procedure_name、drop procedure if exists procedure_name
***************************
流程控制语句
if 语句:判断语句
if condition then statement
elseif condition then statement;
else statement
end if
case 语句:多值判断语句
case expression
when value1 then statement;
when value2 then statement;
....
else statement;
end case;
loop 语句:循环语句
[loop_label:] loop
statement;
end loop [loop_label]
repeat 语句:循环语句
[repeat_label:] repeat
statement
until condition
end repeat [repeat_label]
while 语句:循环语句
[while_label:] while condition do
statement
end while [while_label]
leave 语句:退出循环标志,语法格式:leave label
iterate 语句:跳转到循环体开始处,语法格式:iterate label
***************************
示例
******************
示例 1
drop procedure if exists hh;
delimiter //
create procedure hh()
begin
select * from test1;
end //
delimiter ;
call hh();
操作结果:
******************
示例 2
drop procedure if exists hh;
delimiter //
create procedure hh()
begin
declare num int default 0;
select num;
while num<10 do
set num=num+1;
end while;
select num;
end //
delimiter ;
call hh();
操作结果 1:num 0
操作结果 2:num 10