儲存過程中事務操作

2021-06-22 08:39:01 字數 676 閱讀 7285

資料庫中事務主要應用在多條語句的更新操作(插入、修改、刪除),可以保證資料的完整性與正確性。使用原則為盡可能少的影響資料,以免產生死鎖或者占用資源。在儲存過程中如果中間操作有非嚴重的錯誤資訊執行不會中斷,會繼續執行並返回相應結果。但是程式呼叫的話如果不是用 try catch形式則會報錯,出現黃頁。需要注意的是@@error只會捕獲dml型別操作導致的錯誤,並且中間不能有任何其他操作否則@@error結果就會被覆蓋。

1、通過@@error形式

declare @errnum int=0

begin tran

begin

--執行語句

if @@error>0

begin

@errnum=@errnum+1

endend

if @errnum>0

begin

rollback tran

endelse

begin

commit tran

end2、通過try catch形式

begin tran

begin

begin try

--執行語句

commit tran

end try

begin catch

rollback tran

end catch

end

在儲存過程中實現事務

在圖書館管理系統中系統管理員可以進行的操作有 借 還 新增 刪除 修改圖書或新增 刪除 修改讀者等,很多的操作都涉及到多個表的進行,我們一定要保持資料的一致性。如 刪除讀者 操作,會在讀者表 reader 中進行讀者的刪除,該讀者刪除後,借書表 reader book 也沒有必要再保留該讀者的借書記...

儲存過程中事務try catch 例子

create procedure dbo procaccountmanagerassigncompany 使用者賬號基本資訊表中所需欄位 username nvarchar 50 使用者登入的賬戶名稱 userpwd nvarchar 50 使用者登入的密碼 assignuserid int,分配此...

在儲存過程中運用事務

在儲存過程中運用事務 create database study use study create table peopleinfor 使用者資訊表 id int primary key identity 1001,1 主鍵自動增長 name1 nvarchar 30 使用者名稱 ymoney mo...