1.自定义函数:即除内置函数外,为实现某一业务需求而重新定义的代码块。它与存储过程一样,都是由 SQL 语句和过程式语句组成的代码片段,并且可以被应用程序和其他 SQL 语句调用。
2.语法:create function <函数名>
returns 数据类型
return <函数体>
前提是先创建表。
CREATE TABLE `stucose` (
`sid` int(11) NOT NULL AUTO_INCREMENT,
`sname` varchar(20) NOT NULL,
`couse` int(11) DEFAULT NULL,
PRIMARY KEY (`sid`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
//创建自定义函数
CREATE FUNCTION geSid_stucose()
returns int
return(
SELECT couse from stucose where sid = 1
);
use <数据库名>;
//查看数据库中有哪些自定义函数
show FUNCTION status;
3.修改自定义函数:自定义函数可以通过alter function 来修改,但最好还是先删除,在重新创建。
4.自定义函数的删除:语法 drop function <函数名>
5.自定义函数和存储过程的区别:
-
1.自定义函数不能拥有输出参数,这是因为自定义函数自身就是输出参数;而存储过程可以拥有输出参数。
-
2.自定义函数中必须包含一条 RETURN 语句,而这条特殊的 SQL 语句不允许包含于存储过程中。
扫描二维码关注公众号,回复: 13296173 查看本文章 -
可以直接对自定义函数进行调用而不需要使用 CALL 语句,而对存储过程的调用需要使用 CALL 语句。