数据库自定义函数MYSQL

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 语句。

本文参考

猜你喜欢

转载自blog.csdn.net/Tumbler_Zeng/article/details/99596615