Frage:

Beispiel für Transaction mit Try / Catch im MS-SQL-Server

 

Antwort:

Beispiel:

BEGIN TRANSACTION
BEGIN TRY
   ... ... ...
   ... ... ...
   COMMIT TRANSACTION
END TRY
BEGIN CATCH
   ROLLBACK TRANSACTION
   set @RetVal = @@ERROR
   DECLARE @Msg NVARCHAR(MAX)  
   SELECT @Msg=ERROR_MESSAGE()
   RAISERROR('Error Occured: %s', 20, 101,@msg) WITH LOG
END CATCH

Als Alternative könnte man eventuell auch die Variable @@ERROR auf <> 0 abfragen

und dann auf eventuelle Fehler reagieren ...