0
BEGIN TRANSACTION
    BEGIN TRY
        --DO_ACTION
        --COMMIT_TRANSACTION
    END TRY
    BEGIN CATCH
        --LOG_ERROR (e.g. INSERT INTO ErrorTable (ERROR_MESSAGE(), ...))
        --ROLLBACK
    END CATCH

次のことを実行しようとしていますが、ROLLBACKコマンドがエラーのログをロールバックしているため、「ErrorTable」には何も含まれていません。

この状況でやりたいことをどうやってやるの?

4

1 に答える 1

1

何にログインしErrorTableますか?ロールバック後にまだ使用できないデータの場合は、それをテーブル変数に保持してから、ロールバック後に挿入できますErrorTable。テーブル変数はトランザクションに参加しません。

于 2013-01-10T22:57:10.530 に答える