含义(参考mysql的存储过程):
一组预先编译好的sql语句的集合,类似批量处理。
优点:1.简化代码操作 2.提高代码的重用性 3.减少编译次数和数据库服务器的连接次数。
与存储过程的不同点:
存储过程的返回值可以是多个,也可以是0个。适合做数据的添加和更新
函数的返回值有且只能有一个。适合做数据的查询。
创建语法:
CREATE FUNCTION (参数列表) RETURNS(返回值类型) BEGIN 函数体 END |
注意:
参数列表:包括参数名和参数类
函数体:肯定会有return语句,如果没有就会报错;return语句放在最后不会报错,但不建议放在最后。当函数体只有一句话的时候,可以不写BEGIN END语句。使用delimiter来设置一个结束的标志。
调用语法:
SELECT 参数名(参数列表) |
案例一
#无参列表,有返回 CREATE FUNCTION mysq01()RETURNS INT #创建函数 BEGIN DECLARE c INT DEFAULT 0; #定义变量 SELECT COUNT(*) INTO c #给变量赋值 FROM boy_information; RETURN c; END $ SELECT mysq01()$ #调用函数 |