mysql存储过程的概念:
存储在数据库当中可以执行特定工作(查询和更新)的一组sql代码的程序段。
mysql函数的概念:
函数是完成特定功能的sql语句,函数分为内置函数和自定义函数(user-defined function udf)
mysql存储过程和函数的区别
- 存储过程可以有多个in,out,inout参数,而函数只有输入参数类型,而且不能带in.
- 存储过程实现的功能要复杂一些;而函数的单一功能性(针对性)更强。
- 存储过程可以返回多个值;存储函数只能有一个返回值。
- 存储过程一般独立的来执行;而存储函数可以作为其它sql语句的组成部分来出现。
- 存储过程可以调用存储函数。函数不能调用存储过程。
存储过程是为了完成特定功能的sql语句集,经编译创建并保存在数据库中。思想就是数据库sql语言层面的代码封装与重用。
注:in指输入参数,out指输出参数
创建自定义function
语法格式:create 函数名(参数 类型,参数 类型...) returns 类型 return 表达式值;
注:1.参数可以没有,或者有多个。
2.必须有返回值,且只有一个。
3.如果有sql语句的话要放在begin...end中间。
4.不加determministic会报错(不知道咋解决)
begin...end复合语句
通常出现在存储过程、函数和触发器中,其中可以包含一个或多个语句,每个语句用;隔开。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/1016391912pm/p/11756530.html