資料庫中事務主要應用在多條語句的更新操作(插入、修改、刪除),可以保證資料的完整性與正確性。使用原則為盡可能少的影響資料,以免產生死鎖或者占用資源。在儲存過程中如果中間操作有非嚴重的錯誤資訊執行不會中斷,會繼續執行並返回相應結果。但是程式呼叫的話如果不是用 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...