MySQL 存储函数

存储函数

存储函数是有返回值的存储过程,存储函数的参数只能是IN类型的。具体语法如下:

CREATE FUNCTION 存储函数名称([参数列表])
RETURNS type [characteristic ...]
BEGIN
	-- SQL语句
	RETURN ...;
END;

characteristic说明:

  • DETERMINISTIC:相同的输入参数总是产生相同的结果;
  • NO SQL:不包含SQL语句;
  • READS SQL DATA:包含读取数据的语句,但不包含写入数据的语句。

代码演示:

-- 存储函数
-- 从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);
posted @ 2023-06-02 22:58  凉白茶  阅读(48)  评论(0编辑  收藏  举报