一文入门SQL——自定义函数
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
本篇讲的是自定义函数(Function)。 当我们学习编程语言的时候,也会遇到函数。函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维护性。 SQL 中的函数一般是在数据上执行的,可以很方便地转换和处理数据。一般来说,当我们从数据表中检索出数据之后,就可以进一步对这些数据进行操作,得到更有意义的结果,比如返回指定条件的函数,或者求某个字段的平均值等。 SQL中的函数包含内置函数和自定义函数,本文讲解自定义函数。 用户定义函数与编程语言中的函数相似,其结构与存储过程相似,但函数必须有一个RETURN子句,用于返回函数值。函数说明要说明函数名、结果值的类型,以及参数类型等。 注意:以下全部是以MySQL为演示,其他类型数据库语法可能不一致。 一、创建自定义函数 (1)创建计算立方体体积的标量函数,此函数有三个输入参数,分别为正方体的长宽高,类型均为整型,返回值体积也是整型: #解决1418号报错(临时生效,重启后失效) set global log_bin_trust_function_creators=TRUE;
delimiter $$ CREATE FUNCTION CubicVolume (CubeLength int,CubeWidth int,CubeHeight int) RETURNS int RETURN (CubeLength*CubeWidth*CubeHeight); $$ delimiter; #定义标量函数 delimiter $$ CREATE FUNCTION GoodsCount(class varchar(10)) RETURNS int BEGIN DECLARE x int; SET x=( SELECT count(*) FROM Tbl_GoodsClass a JOIN Tbl_Goods b ON a.GoodsClassID=b.GoodsClassID WHERE GoodsClassName=class); RETURN x; END; $$ delimiter; SELECT CubicVolume(2,3,4) ; #查询运动器材的种类数 SELECT GoodsCount('运动器材'); 删除GoodsCount函数的语句如下: drop Function GoodsCount; 这样就把创建好的函数给删除了。 文中有个小点需要注意一下,直接运行自定义函数将会出现1418错误,这个我们可以通过运行 set global log_bin_trust_function_creators=TRUE; 或者 set global log_bin_trust_function_creators=1; 来解决,不过这个是临时生效,重启应用后失效,更详细的解决方案可访问https://blog.csdn.net/qq_38361800/article/details/105950335来解决。 该文章在 2024/3/29 23:23:24 编辑过 |
关键字查询
相关文章
正在查询... |