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