事務中可以有存儲過程 存儲過程中也可以有事務
事務是一系列的對數據庫的操作,這些操作包括存儲過程,更改語句及其它操作。開始語句是BEGIN TRANSACTION (事務開始),結束語句有兩種,一個是ROLLBACK--回滾,一個是--commit提交事務的所有操作。
存儲過程是實現一定功能的語句組成的程序段。可以包括事務,也可以在某事務當中。
這是一個包括一個事務處理過程的存儲過程,並且在事務中也包括另一個存儲過程的操作:
CREATTE PROCEDURE MYPROCEDURE
AS BEGIN TRANSACTION--開始一個事務
UPDATE TABLENAME SET ABC='DEF' WHERE ......--操作
EXEC OTHERPROCEDURE '參數' --事務中包括的存儲過程
IF @@ERROR>0--操作如果失敗
BEGIN ROLLBACK TRANSACTION--回滾
RAISERROR('更改數據失敗!',16,1)--向前臺報錯
RETURN--返回,不再繼續執行
END
ELSE
COMMIT TRANSACTION--操作成功,確認所作修改
GO