考慮一個情景。我已經在INSERT
操作上創建了具有觸發器的表T1
。和存儲過程如下。從存儲過程調用觸發器(ROLLBACK觸發器會發生?)
//StoredProcedure.sql
BEGIN TRANSACTION;
...
...
INSERT INTO TABLE T1
/* Trigger will be executed on record insertion in Table T1 */
.....
.....
.....
.....
Consider some error here...
.....
.....
COMMIT TRANSACTION;
.....
.....
ROLLBACK TRANSACTION;
在存儲過程中的錯誤會調用ROLLBACK TRANSACTION
,它會在觸發ROLLBACK
操作進行的?
MSSQL and MySQL
:考慮到理想情況下,它會ROLLBACK
由觸發器執行的操作,但我希望您的問題的意見。
回滾當前事務中對該點所做的所有數據修改,包括由觸發器進行的所有修改。 [回滾事務](https://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=zh-CN&k=k(ROLLBACK_TSQL); k(SQL11.SWB.TSQLRESULTS.F1); k(SQL11.SWB .TSQLQUERY.F1); k(MISCELLANEOUSFILESPROJECT); k(DevLang-TSQL)&rd = true) – 2015-03-25 09:39:41