数据库存储过程

一条或多条sql语句的集合

存储过程可以看做执行批处理的文件

为了简化复杂操作

提高性能

 

创建存储过程

create procedure

用法

create procedure  名字()   需要存储参数在()内列出,没有参数则不写

begin

  存储语句集合

end

 

临时更改

mysql默认分隔符   ;

 

使用delimiter  符号      来进行临时更改命令的风格符

delimiter //

create procedure  名字()   需要存储参数在()内列出,没有参数则不写

begin

  存储语句集合

end   //      使用临时分隔符   最后结尾要使用定义的分隔符

delimiter    最后要以delimiter结尾

 

使用存储过程

储存过程事实上是一种函数

call  存储的名字();

 

存储过程在创建后呗保存在服务器上,直到被删除

删除命令从服务器中删除存储过程

drop procedure  存储名字;

存储过程一般不显示结果,而是把结果返回给指定的变量

该变量用来临时存储数据

所有mysql变量都必须以@开始

使用set语句设置变量

例如 set @num =1

select @num   列中会显示@num   值为1

 

out从存储传出一个值

 

in传递给存储过程  out从存储过程传出  inout对存储过程传入与传出

存储过程位于begin和ned语句内

 

例如

cretae procedure p(

  out p1  decimal(8,1)

  out p2  decimal(8,1)

  out p3  decimal(8,1)

)

begin

  select min(pp)

  into p1

  from p;

  select max(pp)

  into p2

  from p;

  select mavg(pp)

  into p3

  from p;

end

调用

call p(@pmin,@pmax,@pavg)     调用时()内的变量对应设置时的变量

select @p

posted @ 2020-08-27 23:17  寂静音无  阅读(182)  评论(0)    收藏  举报