以前,咱们列举很多mysql自带的函数,可是有些时候自带函数并不能很好知足咱们的需求,此时就须要自定义存储函数了,存储函数与存储过程有些相似,简单来讲就是封装一段sql代码,完成一种特定的功能,并返回结果。其语法以下:mysql
CREATE FUNCTION 函数([参数类型 数据类型[,….]]) RETURNS 返回类型sql
BEGIN函数
SQL语句.....工具
RETURN (返回的数据)spa
END3d
与存储过程不一样的是,存储函数中不能指定输出参数(OUT)和输入输出参数(INOUT)类型。存储函数只能指定输入类型并且不能带IN。同时存储函数能够经过RETURN命令将处理的结果返回给调用方。注意必须在参数列表后的RETURNS( 该值的RETURNS多个S,务必留意)命令中预先指定返回值的类型。以下建立一个计算斐波那契数列的函数blog
这里命名存储函数时使用了【fn_】做为开头,这样能够更容易区分与【sp_】开头的存储过程,从上述语句能够看出前面在存储过程分析的流程语句也是能够用于存储函数的,一样的,DECLARE声明变量和SET设置变量也可用于存储函数,固然包括定义异常处理语句也是适应的,请注意执行存储函数使用的是select关键字,可同时执行多个存储函数,嗯,存储函数就这样定义,是否是跟存储过程很类似呢?但仍是有区别的,这点留到后面分析。ok~,为了进一步熟悉存储函数,下面编写一个用于向user插入用户的存储函数:get
删除存储函数博客
本文由博客群发一文多发等运营工具平台 OpenWrite 发布