mysql教程存儲過程語法
變量定義:
declare variable_name [,variable_name...] datatype [default value];
其中,datatype為mysql的數據類型,如:int, float, date, varchar(length)
例:
declare l_int int unsigned default 4000000; declare l_numeric numeric(8,2) default 9.95; declare l_date date default '1999-12-31'; declare l_datetime datetime default '1999-12-31 23:59:59'; declare l_varchar varchar(255) default 'this will not be padded';
變量賦值
set 變量名 = 表達式值 [,variable_name = expression ...]
參數
mysql存儲過程的參數用在存儲過程的定義,共有三種參數類型,in,out,inout
create procedure|function([[in |out |inout ] 參數名 數據類形...])
in 輸入參數
表示該參數的值必須在調用存儲過程時指定,在存儲過程中修改該參數的值不能被返回,為默認值
out 輸出參數
該值可在存儲過程內部被改變,並可返回
inout 輸入輸出參數
調用時指定,並且可被改變和返回
建存儲過程:
語法:
create procedure p()
begin
/*此存儲過程的正文*/
end
create procedure productpricing()
begin
select avg(pro_price) as priceaverage
from products;
end;
# begin…end之間是存儲過程的主體定義
# mysql的分界符是分號(;)
調用存儲過程的方法是:
# call加上過程名以及一個括號
# 例如調用上面定義的存儲過程
call productpricing();