SQLServer存儲(chǔ)過程中事務(wù)的使用方法
作者:iceKnight 字體:[ ] 類型:轉(zhuǎn)載 時(shí)間:2015-12-13
這篇文章主要介紹了SQLServer存儲(chǔ)過程中事務(wù)的使用方法,簡(jiǎn)短的代碼帶大家更好的學(xué)習(xí)使用SQLServer存儲(chǔ)過程中事務(wù),感興趣的小伙伴們可以參考一下
本文為大家分享了SQLServer存儲(chǔ)過程中事務(wù)的使用方法,具體代碼如下
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 --事務(wù)中操作的錯(cuò)誤記錄 --開啟事務(wù) begin transaction--實(shí)現(xiàn)進(jìn)貨信息的添加insert into StockInfo values(@GoodsId, @Number, @StockPrice, @SupplierId, @EmpId, @StockUnit, @StockDate, @TotalMoney, @ActMoney,DEFAULT,@Description, @baseId)set @error+=@@ERROR --記錄有可能產(chǎn)生的錯(cuò)誤號(hào)--獲取當(dāng)前進(jìn)貨信息的標(biāo)識(shí)列--判斷當(dāng)前商品有沒有進(jìn)貨記錄if exists (select * from dbo.InventoryInfo where goodid=@GoodsId) --說明記錄存在,直接修改庫(kù)存數(shù)量beginupdate dbo.InventoryInfo set GNumber=GNumber+@Number,TotalMoney+=@TotalMoney where goodid=@GoodsIdset @error+=@@ERROR --記錄有可能產(chǎn)生的錯(cuò)誤號(hào)endelse --這個(gè)商品從來沒有過進(jìn)貨記錄,那么就應(yīng)該添加新的存在信息begindeclare @GWarningNum int --此商品的預(yù)警數(shù)量--獲取預(yù)警數(shù)量set @GWarningNum=(select WaringNum from dbo.GoodsInfo where GId=@GoodsId)insert into dbo.InventoryInfo values(@GoodsId,@Number,@baseId,@GWarningNum,@TotalMoney,'第一次進(jìn)貨',default)set @error+=@@ERROR --記錄有可能產(chǎn)生的錯(cuò)誤號(hào)end--判斷事務(wù)的提交或者回滾if(@error<>0) beginrollback transactionreturn -1 --設(shè)置操作結(jié)果錯(cuò)誤標(biāo)識(shí) endelse begincommit transactionreturn 1 --操作成功的標(biāo)識(shí) endgo
希望本文所述對(duì)大家學(xué)習(xí)數(shù)據(jù)庫(kù)操作有所幫助。
您可能感興趣的文章:
Tags:sqlserver 事務(wù)
相關(guān)文章
大家感興趣的內(nèi)容
最近更新的內(nèi)容
常用在線小工具
新聞熱點(diǎn)
疑難解答
圖片精選