存储过程
相关学习资源如下:
存储过程是一种没有返回值的函数。
创建存储过程
create procedure 过程名([参数列表])
Begin
过程体
End
查看存储过程
函数的查看方式完全适用于过程,关键字换成procedure即可。
查看所有过程:show procedure status [like 'pattern'];
查看过程创建语句:show create procedure 过程名;
调用过程
过程没有返回值,所以无法用select访问。
调用过程的关键字:call
删除过程
drop procedure 过程名;
存储过程的参数
存储过程可以有0个或多个参数,用于存储过程的定义。
3种参数类型:
IN输入参数:表示调用者向过程传入值给内部使用(传入值可以是字面量或变量)
OUT输出参数:表示过程向调用者传出值(可以返回多个值),给外部使用(传出值只能是变量,引用传递——内部修改会影响外)
INOUT输入输出参数:既表示调用者向过程传入值,又表示过程向调用者传出值(值只能是变量,引用传递)
语法:create procedure 过程名(in 形参名 数据类型, out 形参名 数据类型, inout 形参名 数据类型)
在存储过程调用结束之后,out类型和inout类型会将过程内部对应的局部变量的值重新返回给对应的传入的全局变量。