mysql 存储过程


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();

 

操作结果:

      mysql 存储过程_第1张图片

 

************************

示例 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

 

 

你可能感兴趣的:(mysql)