mysql自定义函数 变量赋值_MySQL自定义函数用法详解-复合结构自定义变量/流程控制...

转自:https://www.cnblogs.com/caoruiy/p/4485273.html自定义函数 (user-defined function UDF)就是用一个象ABS() 或 CONCAT()这样的固有(内建)函数一样作用的新函数去扩展MySQL。所以UDF是对MySQL功能的一个扩展创建和删除自定义函数语法:创建UDF:CREATE[AGGREGATE]FUNCTIONfun...
摘要由CSDN通过智能技术生成

转自:https://www.cnblogs.com/caoruiy/p/4485273.html

自定义函数 (user-defined function UDF)就是用一个象ABS() 或 CONCAT()这样的固有(内建)函数一样作用的新函数去扩展MySQL。

所以UDF是对MySQL功能的一个扩展

创建和删除自定义函数语法:

创建UDF:

CREATE[AGGREGATE] FUNCTION function_name(parameter_name type,[parameter_name type,...])

RETURNS {STRING|INTEGER|REAL}

runtime_body

简单来说就是:

CREATE FUNCTION函数名称(参数列表)

RETURNS 返回值类型

函数体

删除UDF:

DROPFUNCTION function_name

调用自定义函数语法:

SELECT function_name(parameter_value,...)

语法示例:

创建简单的无参UDF

CREATE FUNCTION simpleFun()RETURNS VARVHAR(20) RETURN "Hello World!";

说明:

UDF可以实现的功能不止于此,UDF有两个关键点,一个是参数,一个是返回值,UDF可以没有参数,但UDF必须有且只有一个返回值

在函数体重我们可以使用更为复杂的语法,比如复合结构/流程控制/任何SQL语句/定义变量等等

复合结构定义语法:

在函数体中,如果包含多条语句,我们需要把多条语句放到BEGIN...END语句块中

48304ba5e6f9fe08f3fa1abda7d326ab.png

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//

48304ba5e6f9fe08f3fa1abda7d326ab.png

修改默认的结束符语法:

DELIMITER //意思是修改默认的结束符";"为"//",以后的SQL语句都要以"//"作为结尾

特别说明:

UDF中,REURN语句也包含在BEGIN...END中

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

DECLARE var_name[,varname]...dat

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值