存儲過程和事務有什麼區別和聯繫?

      事務中可以有存儲過程 存儲過程中也可以有事務

 事務是一系列的對數據庫的操作,這些操作包括存儲過程,更改語句及其它操作。開始語句是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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章