美文网首页数据库-mysql
10. MySQL的函数Function

10. MySQL的函数Function

作者: 光小月 | 来源:发表于2018-04-20 09:50 被阅读8次

语法:

CREATE [AGGREGATE] FUNCTION function_name
(parameter_name type,[parameter_name type,...])
RETURNS {STRING|INTEGER|REAL}
runtime_body

简单来说就是:
CREATE FUNCTION 函数名称(参数列表)
RETURNS 返回值类型
函数体

例子:

DELIMITER //
CREATE FUNCTION IF EXIST deleteById(uid SMALLINT UNSIGNED) 
RETURNS VARCHAR(20) 
BEGIN
DELETE FROM son WHERE id = uid;
RETURN (SELECT COUNT(id) FROM son);
END//

DELIMITER // 意思是修改默认的结束符";"为"//",以后的SQL语句都要以"//"作为结尾
UDF中,REURN语句也包含在BEGIN...END中

删除

DROP FUNCTION function_name

调用

SELECT function_name(parameter_value,...);

补充:
自定义函数中定义局部变量语法:

DECLARE var_name[,varname]...date_type [DEFAULT VALUE];
简单来说就是:
DECLARE 变量1[,变量2,... ]变量类型 [DEFAULT 默认值]
DELIMITER //
CREATE FUNCTION addTwoNumber(x SMALLINT UNSIGNED, Y SMALLINT UNSIGNED) 
RETURNS SMALLINT
BEGIN
DECLARE a, b SMALLINT UNSIGNED DEFAULT 10;
SET  a = x, b = y;
RETURN a+b;
END//

其他详见: https://blog.csdn.net/rzq228/article/details/73498172

欢迎关注,以后会不定时更新!

来自: https://blog.csdn.net/rzq228/article/details/73498172

相关文章

网友评论

    本文标题:10. MySQL的函数Function

    本文链接:https://www.haomeiwen.com/subject/erqakftx.html