数据库-mysql

10. MySQL的函数Function

2018-04-20  本文已影响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

上一篇 下一篇

猜你喜欢

热点阅读