0
我有一個「預處理」存儲過程,它調用多個存儲過程。存儲過程中的錯誤處理
最後,當我所有的SPS(內)已成功執行了,我想運行一個更新statment,所以在主SP我有:
EXEC SP1
EXEC SP2
EXEC SP3
-- RUN UPDATE statment here
我所有的內SP的有以下模板:
BEGIN TRY
BEGIN TRANSACTION
// DO SOME INSERT,UPDATE ETC..
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
RETURN
END CATCH
我的問題是什麼是在這種情況下錯誤處理的最佳方法,即我想確保在我運行最終更新語句之前一切都完成了。