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)