1、概念语法
存储函数是有返回值的存储过程,存储函数的参数只有IN类型的。
CREATE FUNCTION 存储函数名称([参数列表])
RETURNS type [characteristic]...
BEGIN
---SQL语句
RETURN ...;
END;
characteristic说明:
* DETERMINISTIC:相同的输入参数总是产生相同的结果
* NO SQL:不包含SQL语句
* READS SQL DATA:包含读取数据的语句,但不包含写入数据的语句
2、基本使用
-- 存储函数 实现从1-n的累加
CREATE FUNCTION fun1(n INT)
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(10);