存储函数是有返回值存储过程,存储函数的参数只能还是IN类型的
1、语法
create function 存储函数名称 ([参数列表])
Returns type [characterrastic...]
Begin
--SQL语句
Return ..;
End;
characterrastic说明:
Deterministic:相同的输入参数总是产生相同的结果
No SQL:不包含SQL语句
Reads SQL Data:包含读取数据的语句,但不包含写入数据的语句
2、案例
从1累加到n的值,n为传入的参数值
CREATE FUNCTION fun1(n int)
#DETERMINISTIC相同的输入参数总是产生相同的结果
RETURNS INT DETERMINISTIC
BEGIN
DECLARE total INT default 0;
WHILE n>0 DO
SET total:=total+n;
set n:=n-1;
END WHILE;
RETURN total;
END;
SELECT fun1(100);