でのtry-catchを取引私は、Microsoftのサーバーに2005TSQL:トリガー
BEGIN TRANSACTION
BEGIN TRY
--Some More SQL
COMMIT TRANSACTION
END TRY
BEGIN CATCH
IF (XACT_STATE()) = -1
BEGIN
ROLLBACK TRANSACTION;
END;
END CATCH
を使用して、トリガー内のtry-catch文を入れしようとしていますが、問題は、私は場合は、トリガーが失敗したくないということです何かがtry-catchブロックによって捕らえられます。現時点では、「トランザクションがトリガで終了しました。バッチが中止されました」というエラーが表示されます。トランザクションが失敗した場合。どのようにトリガを正常に失敗させることができますか?
さらに、トランザクションを削除すると、「トランザクションが破棄されました。バッチが中止されました」というエラーが表示されます。
BEGIN TRY
--Some More SQL
END TRY
BEGIN CATCH
return
END CATCH
これには何らかの方法がありますか?
: 次のコードは、トリガーを作成することです。問題は、トリガーが失敗した場合に挿入を失敗させたくないということです。レガシーデータベースは最も信頼性の高いシステムではありません。 – Eldila
私は、より多くのエラーメッセージで "運命"という言葉を使い始めるつもりです。 – AaronLS