MySQL之自定义函数

MySQL函数,是一种控制流程函数,属于数据库用语言。

系统函数:

  mysql5.6:https://dev.mysql.com/doc/refman/5.6/en/func-op-summary-ref.html

  mysql5.7:https://dev.mysql.com/doc/refman/5.7/en/func-op-summary-ref.html

 

自定义函数

  保存在mysql.proc表中

  创建UDF

    CREATE [AGGREGATE] FUNCTION function_name(parameter_name type, [parameter_name type,...])

    RETURNS {STRING|INTEGER|REAL}

    runtime_body

  说明:

    参数可以有多个,也可以没有参数

    必须有且只有一个返回值

创建函数

  示例:无参UDF

  CREATE FUNCTION simpleFun() RETURNS VARCHAR(20) RETURN “Hello World!”;

查看函数列表

  SHOW FUNCTION STATUS;

查看函数定义

  SHOW CREATE FUNCTION function_name

删除函数

  DROP FUNCTION function_name

调用自定义函数语法

  SELECT function_name(parameter_value,...)

 

示例:

创建函数deleteById,函数作用:从students表中删除(stuid = uid)的行
DELIMITER //
CREATE FUNCTION deleteById(uid SMALLINT UNSIGNED) RETURNS VARCHAR(20)
BEGIN
DELETE FROM students WHERE stuid = uid;
RETURN (SELECT COUNT(stuid) FROM students);
END//
DELIMITER ;

调用函数
SELECT deleteById(27)

 

  

posted on 2019-11-07 10:42  强叔Linux  阅读(1524)  评论(0编辑  收藏  举报