数据库存储过程
一条或多条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
                    
                
                
            
        
浙公网安备 33010602011771号