1、存储过程:变量的声明和赋值。
delimiter $mysql
create procedure p1()sql
beginide
declare age int default 18; set age :=age+20;或者 set age =age+20 select age from dual;
end$3d
调用存储过程:call p1(); 其结果是以下:code
2、存储过程:if 控制语句。
delimiter $
create procedure p2()
beginblog
declare age int default 18; if age>=18 then select '已成年' ; else select '未成年'; end if;
end$
调用存储过程:call p2(); 其结果是以下:it
3、存储过程:输入参数。
计算一个矩形的面积,并判断是胖fat? 瘦then? 仍是方square?
delimiter $
create procedure p3(w int ,h int)
begin
select concat('area:',w*h);class
if w > h then select 'fat'; elseif w < h then select 'then'; else select 'square'; end if;
end$基础
4、存储过程:while循环变量
求1到100的和。
delimiter $
create procedure p100()
begin
declare total int default 0;
declare num int default 0;
while num<=100 do
set total=total+num; set num=num+1;
end while;
select total;
end$
调用存储过程:call p100(); 其结果是以下:
5、存储过程:输出参数:
求1到n的和。
delimiter $
create procedure p8(in n int ,out total int)
begin
set total=0;
declare num int default 0;
while num<=n do
set total=total+num; set num=num+1;
end while;
end$
调用存储过程:call p8(100,@sumary); select @sumary; 其结果是以下:
6、存储过程:输入输出参数:
delimiter $
create procedure p9(inout age int)
begin
set age =age+20;
end $
调用存储过程:set @currentage=18; call p9(@currentage) ;select @currentage; 其结果是以下:
7、存储过程:case控制语句:
delimiter $
create procedure p10()
begin
declare pos int default 0; set pos=floor(4*rand()) ; case pos when 1 then select 'haha'; when 2 then select 'hehe'; else select 'heihei'; end case;
end $
8、存储过程:repeat控制语句:
delimiter $
create procedure p11()
begin
declare i int default 0; declare total int default 0; repeat set i=i+1; set total =total +i; until i>=100 end repeat; select total;
end$
9、调用存储过程 call:
call procedure_Name();