#结束标记设置DELIMITER $
CREATEFUNCTION 函数名(参数列表)RETURNS 返回类型
BEGIN
函数体
END $
参数列表:参数名 参数类型
二、调用
例如结束标记为$:
SELECT 函数名(参数列表)$
三、查看函数
SHOWCREATEFUNCTION 函数名
四、删除函数
DROPFUNCTION 函数名
五、案例演示
1、返回公司员工个数(无参数有返回)
CREATEFUNCTION myf1()RETURNSINTBEGINDECLARE c INTDEFAULT0;#定义变量接收返回值SELECTCOUNT(*)INTO c #给变量赋值FROM`employees`;RETURN c;#返回值END $
SELECT myf1()$
2、根据部门名,返回该部门的平均工资(有参数有返回)
CREATEFUNCTION myf3(departName VARCHAR(20))RETURNSDOUBLEBEGINSET@avg_sala=0;SELECTAVG(`salary`)INTO@avg_salaFROM`employees` e
INNERJOIN`departments` d
ON e.`department_id`=d.`department_id`WHERE d.`department_name`=departName
RETURN@avg_sala;END $
#调用SELECT myf3('Adm')$