mysql--存储过程

一、存储过程:

将能够完成特定功能的SQL指令进行封装(SQL指令集),编译之后存储在数据库服务器上,并且为之取一个名字,客户端可以通过名字直接调用这个SQL指令集,获取执行结果。

二、存储过程的优点

·1、SQL指令无需客户端编写,通过网络传送,可以节省网络开销,同时避免SQL指令在网络传输过程中被恶意篡改,保证安全性。

2、存储过程经过编译创建并保存在数据库中的,执行过程无需重复进行编译操作,对SQL指令的执行过程进行了性能提升。

3、存储过程中多个SQL指令之间存在逻辑关系,支持流程控制语句(分支、循环)可以实现更为复杂的业务。

三、存储过程的缺点

1、存储过程是根据不同的数据库进行编译、创建并存储在数据库中,当我们需要切换到其他的数据库产品时,需要重新编写针对于新数据库的存储过程。

2、存储过程受限于数据库产品,如果需要高性能的优化会成为一个问题。

3、在互联网项目中,如果需要数据库的高并发访问,使用存储过程会增加数据库的连接执行时间(因为我们将复杂的业务交给了数据库进行处理)。

四、存储过程调用

1、创建存储过程

语法:

create procedure <存储过程名>(输入参数,输出参数)
begin    
  sql语句;     
end;

示例:

//创建一个存储过程实现加法运算
create procedure pro_name(in a int,in b int,out c int)
begin
	set c=a+b;
end;

2、调用存储过程

定义变量@m

set @m=0;

调用存储过程,将a的值和b的值传给c,将c传给@m

call pro_name(3,2,@m);

显示刚刚计算结果

select @m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值