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ù)量 begin update dbo.InventoryInfo set GNumber=GNumber+@Number,TotalMoney+=@TotalMoney where goodid=@GoodsId set @error+=@@ERROR --記錄有可能產(chǎn)生的錯(cuò)誤號(hào) end else --這個(gè)商品從來沒有過進(jìn)貨記錄,那么就應(yīng)該添加新的存在信息 begin declare @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) begin rollback transaction return -1 --設(shè)置操作結(jié)果錯(cuò)誤標(biāo)識(shí) end else begin commit transaction return 1 --操作成功的標(biāo)識(shí) end go
希望本文所述對(duì)大家學(xué)習(xí)數(shù)據(jù)庫(kù)操作有所幫助。
相關(guān)文章
sqlserver 多庫(kù)查詢 sp_addlinkedserver使用方法(添加鏈接服務(wù)器)
mssql在使用多庫(kù)查詢的時(shí)候會(huì)用到鏈接服務(wù)器,以下為鏈接服務(wù)器的添加方法,添加完了即可實(shí)現(xiàn)任意改服務(wù)器的多庫(kù)查詢了2011-08-08使用NotePad++錄制宏功能如何快速將sql搜索條件加上前后單引號(hào)
這篇文章給大家介紹使用NotePad++錄制宏功能如何快速將sql搜索條件加上前后單引號(hào),對(duì)notepad 引號(hào)問題感興趣的朋友可以參考下本篇文章2015-10-10解決Windows 10家庭版安裝SQL Server 2014出現(xiàn).net 3.5失敗問題
在安裝SQL Server 2014的過程中,出現(xiàn).net 3.5缺失,導(dǎo)致失敗問題。怎么解決此問題呢?下面小編給大家分享解決Windows 10家庭版安裝SQL Server 2014出現(xiàn).net 3.5失敗問題,一起看看吧2017-04-04解決在window下執(zhí)行SQLSERVER定時(shí)備份的問題
這篇文章主要介紹了在window下執(zhí)行SQLSERVER的定時(shí)備份,文末給大家介紹了windows任務(wù)計(jì)劃定時(shí)備份sqlserver數(shù)據(jù)庫(kù)的相關(guān)知識(shí),使用windows的任務(wù)計(jì)劃新建一個(gè)sqlserver數(shù)據(jù)庫(kù)的定時(shí)備份任務(wù),需要的朋友可以參考下2022-01-01SQL Server格式轉(zhuǎn)換函數(shù)Cast、Convert介紹
這篇文章介紹了SQL Server中的格式轉(zhuǎn)換函數(shù)Cast、Convert,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05如何使用Visual Studio 2010在數(shù)據(jù)庫(kù)中生成隨機(jī)測(cè)試數(shù)據(jù)
本文主要介紹Visual Studio 2010的Data Generation數(shù)據(jù)生成器的使用方法,需要的朋友可以參考下2014-08-08