MySQL中创建函数Function的方法和语法示例

MySQL中,可以使用CREATE FUNCTION语句来创建函数Function。该语句的格式如下:

CREATE FUNCTION [function_name] ([parameter_list])
RETURNS return_type
[LANGUAGE SQL]
[NOT DETERMINISTIC]
[{CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA}]
[SQL SECURITY { DEFINER | INVOKER }]
BEGIN
    -- function body
END;

其中:

  • function_name:函数名称;
  • parameter_list:参数列表,可以为空;
  • return_type:函数返回值类型;
  • LANGUAGE SQL:指定函数体采用SQL语句;
  • NOT DETERMINISTIC:可选,指定函数不是确定性的;
  • CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA:可选,指定函数体是否包含SQL语句;
  • SQL SECURITY { DEFINER | INVOKER }:可选,指定函数的安全性;
  • function body:函数体。

下面是一个示例,创建一个名为get_max_value的函数,该函数可以接受两个参数,并返回两个参数中的最大值:

CREATE FUNCTION get_max_value(a INT, b INT)
RETURNS INT
BEGIN
    DECLARE max_value INT DEFAULT 0;
    IF a > b THEN
        SET max_value = a;
    ELSE 
        SET max_value = b;
    END IF;
    RETURN max_value;
END;

调用该函数的语句如下:

SELECT get_max_value(10,20);

以上就是。


本文链接:http://task.lmcjl.com/news/11127.html

展开阅读全文