SQLServer存储过程中事务的使用方法
作者:iceKnight 时间:2024-01-29 06:56:03
本文为大家分享了SQLServer存储过程中事务的使用方法,具体代码如下
create proc usp_Stock
@GoodsId int,
@Number int,
@StockPrice money,
@SupplierId int,
@EmpId int,
@StockUnit varchar(50),
@StockDate datetime,
@TotalMoney money ,
@ActMoney money ,
@baseId int,
@Description nvarchar(255)
as
declare @error int =0 --事务中操作的错误记录
--开启事务
begin transaction
--实现进货信息的添加
insert into StockInfo values(@GoodsId, @Number, @StockPrice, @SupplierId, @EmpId, @StockUnit, @StockDate, @TotalMoney, @ActMoney,DEFAULT,@Description, @baseId)
set @error+=@@ERROR --记录有可能产生的错误号
--获取当前进货信息的标识列
--判断当前商品有没有进货记录
if exists (select * from dbo.InventoryInfo where goodid=@GoodsId) --说明记录存在,直接修改库存数量
begin
update dbo.InventoryInfo set GNumber=GNumber+@Number,TotalMoney+=@TotalMoney where goodid=@GoodsId
set @error+=@@ERROR --记录有可能产生的错误号
end
else --这个商品从来没有过进货记录,那么就应该添加新的存在信息
begin
declare @GWarningNum int --此商品的预警数量
--获取预警数量
set @GWarningNum=(select WaringNum from dbo.GoodsInfo where GId=@GoodsId)
insert into dbo.InventoryInfo values(@GoodsId,@Number,@baseId,@GWarningNum,@TotalMoney,'第一次进货',default)
set @error+=@@ERROR --记录有可能产生的错误号
end
--判断事务的提交或者回滚
if(@error<>0)
begin
rollback transaction
return -1 --设置操作结果错误标识
end
else
begin
commit transaction
return 1 --操作成功的标识
end
go
希望本文所述对大家学习数据库操作有所帮助。
标签:sqlserver,事务
0
投稿
猜你喜欢
每天迁移MySQL历史数据到历史库Python脚本
2024-01-27 20:43:00
Javascript实现图片懒加载插件的方法
2024-04-19 10:16:44
sql2005 存储过程分页示例代码
2024-01-13 03:09:06
Python要求O(n)复杂度求无序列表中第K的大元素实例
2023-07-30 13:18:01
关于pyinstaller生成.exe程序报错:缺少.ini文件的分析
2023-12-25 13:43:22
Python+OpenCV实现基于颜色的目标识别
2022-10-28 02:57:27
Python argparse库的基本使用步骤
2023-12-14 08:02:29
简化ADO数据库操作的控件(带分页功能)
2008-05-20 13:15:00
Python开发桌面小程序功能
2023-07-01 14:46:59
10大实用web应用界面技术[译]
2009-01-20 12:40:00
浅谈python3.6的tkinter运行问题
2021-08-04 01:29:16
JS实现页面滚动到关闭时的位置与不滚动效果
2024-04-10 10:47:56
浅谈Transact-SQL
2024-01-23 20:13:22
对python使用http、https代理的实例讲解
2022-03-13 00:03:08
JavaScript性能优化小技巧,创建文档碎片
2010-03-31 18:27:00
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2021-11-27 02:46:43
Python计算多幅图像栅格值的平均值
2021-03-28 01:41:05
python获取对象信息的实例详解
2022-04-30 14:55:50
python从入门到精通(DAY 1)
2022-08-12 17:26:56
PHP运行环境配置与开发环境的配置(图文教程)
2024-05-11 09:24:46