私は何かが削除または更新されたときに機能を実行するいくつかのテーブルでいくつかのトリガーを持っています。トランザクション中に、トリガーが実行され、後でトランザクションがロールバックすると、トリガーもロールバックされますか?SQL Serverでトランザクションが失敗した場合、トリガーはロールバックされますか?
12
A
答えて
18
はい。
トリガーがトランザクションの一部として実行される限り、データベース内の変更はロールバックされます。
Nitpick - トリガーはトリガーですが、ロールバックされません。トリガーのエフェクトになります。
3
OK、挿入/更新/削除時にロールバックされる実際のトランザクションは、トリガーが実行したアクションもロールバックします。ただし、トランザクション内で複数のアクションを実行している場合、ロールバックが早期のアクションに発生するようにトランザクション処理がコード内で明示的に行われなければなりません。
したがって、テーブル1から削除してトリガーが起動してトランザクションが失敗すると、すべてがロールバックされます。
私がテーブル1から削除して、トリガが発生し、同じスクリプトまたはストアドprocまたはアプリケーションから送信されたdynamicSQLの一部としてtable2から削除すると、2つのことが起こります。正式な明示的なトランザクション(エラーを正しく処理する)がある場合、暗黙のトランザクション(最後のアクションのみをロールバックする)に依存している場合は、トリガーアクションを含むすべての処理がロールバックされ、失敗した部分
関連する問題
- 1. SQL Server - 失敗したトリガーのロールバック
- 2. SQL Server - トランザクションはエラーでロールバックされますか?
- 3. トリガーが失敗した場合はどうなりますか?
- 4. トランザクションがロールバックされましたか?
- 5. asp.netとSQL Server +トランザクションのロールバック
- 6. SQL Serverのトランザクションでトリガーが実行されます
- 7. トリガーからのトランザクションのロールバック
- 8. SQL Serverでトランザクションをロールバックまたはコミットする方法
- 9. トリガーを失敗させる原因と失敗した場合の対応
- 10. トランザクションを失敗させることなく、SQLトリガーのハンドルエラー?
- 11. タスクが失敗した場合にCapistranoをロールバックさせない方法
- 12. Store Kitトランザクションが失敗しました
- 13. サーバーはトランザクションの再開に失敗しました。 Linq-To-SQL
- 14. テストが失敗した場合、Android jenkinsビルドに失敗する
- 15. SQL Server Management Studioエラー:UserDefinedFunctionでスクリプトが失敗しました
- 16. トランザクションTransactionImple ActionStatus.ABORTEDはすでにロールバックされていました
- 17. SQL接続が失敗した場合のトラップエラーの詳細
- 18. SQL文が失敗した場合のインスクリプトの決定方法
- 19. SQLロールバック・トランザクションでは、そこから状態をロールバックしますか?
- 20. SQL Server - INSERTが 'ARITHABORT'のために失敗しました
- 21. ステートレスBeanへの呼び出しでJPAトランザクションのロールバックが失敗する
- 22. NHibernate MySQLトランザクションがロールバックされません
- 23. Int32.TryParse()は失敗した場合に0を返します。成功または失敗ですか?
- 24. JNI:GetStringUTFChars()は失敗した場合にOOMをスローしますか?
- 25. すべてのmysqlクエリが確実に実行されるか、クエリの1つが失敗した場合に元の状態にロールバックされますか?
- 26. SQL Server 2000 dtsパッケージのスケジュールが失敗しました
- 27. Sql ServerのCLRロードアセンブリが失敗しました
- 28. MySQL/InnoDBでトランザクションがロールバックされない
- 29. SQL Serverのネストされたトランザクション
- 30. インポートが失敗した場合、MSBuildプロジェクトは読み込まれませんか?