语法: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) BEGINDELETE 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 SMALLINTBEGINDECLARE a, b SMALLINT UNSIGNED DEFAULT 10;
SET a = x, b = y;RETURN a+b;
END//
本文由职坐标整理发布,学习更多的MySQL数据库知识,请关注职坐标MySQL频道!