数据库存储过程编写和调用

存储过程优点:执行速度更快,允许模块化程序设计,提高系统安全性,防止SQL注入,减少网络流通量。系统存储过程一般以sp或xp组成

create proc 存储过程名

[定义变量/参数,可以不用写declare]

as

begin 

......

end


通常数据库的存储过程里一边都要加事务。

事务:(原子性,一致性,隔离性

begin tran --打开一个事务

declare @sum int=0

修改语句1

set @sum=@sum+@@error

修改语句2

set @sum=@sum+@@error

            .......

if(@sum<>0)

begin

rollback   --如果出错,则回滚事务

end

else

begin

commit tran  --如果没有发生错误,提交事务

end

//这段代码是放在存储过程里的begin和end代码之间的


调用存储过程:exec 存储过程名(无参数存储过程)

有参数的存储过程两种调用法:

EXEC  usp_upGrade2 60,55 ---按次序

EXEC  usp_upGrade2 @english=55,@math=60 --参数名

调用有返回值的存储过程

declare @val int

exec usp_aaa  @n2=1000,@sum=@val output

output--在调用的时候也得加output关键字

print @val

删除存储过程:drop proc 存储过程名

修改存储过程相当于新建存储过程,覆盖原存储过程


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值