MySQL--自定义函数

原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11776905.html

MySQL自定义函数: 只返回一个值,不返回结果集

创建一个名称是bacone的函数, 参数名称是NAME, 返回varchar数据
CREATE FUNCTION bacone ( NAME VARCHAR ( 15 ) ) RETURNS VARCHAR(15) BEGIN
DECLARE
    c varchar(15);
SELECT
    sname 
FROM
    stu_user 
WHERE
    sid = 1 INTO c;
RETURN c;
END;

可能会有如下报错提示:
This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
如下操作即可:
SET GLOBAL log_bin_trust_function_creators = TRUE;

函数调用方法和正常的函数一样调用即可

查看函数创建语句
SHOW CREATE FUNCTION dog

查看所有函数
SHOW FUNCTION STATUS

删除函数
DROP FUNCTION dog

修改函数(只能修改简单的东西)
ALTER FUNCTION 函数名 选项
原文地址:https://www.cnblogs.com/fanerwei222/p/11776905.html