MySQL数据库高级(二)——自定义函数
一、自定义函数简介
自定义函数 (user-defined function UDF)是一种对MySQL扩展的途径,其用法和内置函数相同。
自定义函数的两个必要条件:
A、参数
B、返回值(必须有)。函数可以返回任意类型的值。
二、自定义函数的使用
1、自定义函数语法
CREATEFUNCTIONfunction_name(parameter_nametype,[parameter_name type,...])
RETURNS{STRING|INTEGER|REAL}
runtime_body
在函数体中可以使用更为复杂的语法,比如复合结构/流程控制/任何SQL语句/定义变量等。
带复合结构的函数体的自定义函数的创建语法如下:
DELIMITER //
CREATEFUNCTIONfunction_name(parameter_nametype,[parameter_name type,...])
RETURNS{STRING|INTEGER|REAL}
BEGIN
//body
END
// /* 此处的”//“为告诉系统函数定义结束 */
当函数体内需要执行的是多条语句时,要使用BEGIN...END语句;且当编写函数体内容的时候,需要使用DELIMITER关键字将分隔符先修改为别的,否则编写语句的时候写到’;’的时候会直接执行,导致函数编写失败。
2、创建带复合结构的函数体的自定义函数
在函数体中,如果包含多条语句,需要把多条语句放到BEGIN...END语句块中。
复合结构可以