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复合语句
通常出现在存储过程、函数和触发器中,其中可以包含一个或多个语句,每个语句用;隔开。
相关学习推荐:mysql视频教程