【www.gdgbn.com--mysql教程】
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();