sql存储过程

sql作为数据库,不仅支持我们使用sql语句一条一条地向其中插入数据,还支持我们使用存储过程批量自动化录入数据。

存储过程解释

存储过程实际上就是函数,我们通过声明一个函数然后调用它去实现函数方法体中所有的逻辑,同样,我们也是通过声明一个sql存储过程然后调用这个存储过程去实现存储过程内sql语句的批量执行。

使用存储过程的优点

使用存储过程,我们可以简化sql语句,把重复的相似的sql语句封装成一个存储过程,然后在需要使用的时候直接调用这个存储过程就好了。
除此之外,存储过程还可以批量处理数据,来实现代码更高的吞吐量,而且,封装成存储过程之后,还可以保证数据的安全。

创建存储过程

创建存储过程的语法如下:

create procedure 存储过程名(是输入参数还是输出参数 参数名 参数类型)
begin
这里写存储过程的具体逻辑
end

这里的“是输入参数还是输出参数”可以写三种:

in表示传入一个参数,表示调用者向过程传入值
out表示输出参数,表示过程向调用者传出值
inout表示输入输出参数,既表示调用者向过程传入值,又表示过程向调用者传出值

光使用这些还不够,我们的存储过程中的每一句sql语句在结尾处是要写分号的,但是如果写了分号,数据库会认为我们当前声明存储过程的语句就到分号就结束了,这显然是我们不希望看到的。为了解决这个问题,我们需要暂时把sql语句的默认结束标志改成我们暂时用不到的字符,然后在声明完存储过程之后再把它改回来,为此,我们需要用到以下的语句:

delimiter $$	//第一次使用将默认结束标志改为$$

delimiter ;	//第二次使用再将默认结束标志改回;

清楚了这些,我们现在就可以看一个例子了

delimiter $$
create procedure insertData(in data int)
begin
insert into t_person(age) values(data);
end$$
delimiter ;

如此,我们就完成了一个向t_person表中插入数据的存储过程,现在我们来调用它

调用存储过程

简单,直接使用call语句即可

call insertData(57);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值