存储函数是有返回值的存储过程,存储函数的参数只能是IN类型的。
一、语法。
1、基本语法
create function 存储函数名称 [(参数列表)]
returns type [characteristic...]
begin
--sql语句
return ...;
end;
2、characteristic说明
deterministic:相同的输入参数总是产生相同的结果
no SQL:不包含SQL语句
reads SQL data:包含读取数据的语句,但不包含写入数据的语句
二、案例。
计算从1累加到n的值,n为传入的参数值。
create function fun1()
returns int deterministic
begin
declare total int default 0;
while n > 0 do
set total := total + n;#对total进行累加,再副职给total
set n := n - 1;#每一次循环,将n的值减1
end while;
return total;#返回
end;
select fun1(100);