存储过程

 

概念:

简称过程,procedure,是一种用来处理数据的方式吗存储过程是一种没有返回值的函数

 

与函数的差别:

  1. 函数的创建是为了实现某项功能
  2. 存储过程是为了达到某种查询条件

 

存储过程的创建

Create procedure 过程名字(参数列表)

Begin

##过程体

End

mysql存储过程输出列表 mysql 存储过程输出信息_数据

 

查看过程

查看所有过程

show procedure status [like pattern];

mysql存储过程输出列表 mysql 存储过程输出信息_数据类型_02

查看过程的创建语句

Show create procedure 过程名;

 

调用过程

  1. 调用过程有一个关键字call

mysql存储过程输出列表 mysql 存储过程输出信息_数据_03

 

修改过程&删除过程

过程只能先删除,再创建

Drop procedure 过程名;

 

过程参数:

函数的参数需要数据类型的指定,过程参数的使用比函数更加的严格

类型限定

In类型:

数据只是从外界传入到内部使用,可以是数值也可以是变量

Out类型:

只允许过程内部使用(不用外部数据),给外部使用的.(引用传递:外部的数据会被清空才会进入到内部),只能是变量

Inout类型:

外的参数可以在内部使用,内部的修改也能给外部使用,这是典型的引用传递,但是只能传递变量;

 

参数的使用:

Create procedure 过程名(in 形参名字 数据类型, out 形参名字 数据类型, inout 形参名字 数据类型 )