SQL Server トリガーでの再帰の防止
トリガーはデータベース管理の強力なツールであり、開発者は特定のイベントが発生したときにカスタム アクションを実装できます。データベース。ただし、トリガーは意図しない再帰を引き起こす可能性もあり、トリガー自体が呼び出され、無限ループが発生します。
SQL Server では、挿入、更新、またはテーブルの変更時に自動的に実行されるトリガーを作成できます。削除操作。再帰を防ぐには、トリガー コード内にチェックを実装して、トリガー自体によって開始された更新と他のソースからの更新を区別することが重要です。
再帰を防ぐ 1 つのアプローチは、 TRIGGER_NESTLEVEL() 関数を使用してトリガーします。この関数は、トリガーが再帰的に実行された回数を示す、トリガーの現在のネスト レベルを返します。現在のネスト レベルが 1 より大きい場合、トリガーが別のトリガーのアクションから実行されているため、それ以上のアクションは必要ありません。
このアプローチを組み込んだ更新されたトリガー コードは次のとおりです。
ALTER TRIGGER [dbo].[tblMediaAfterInsertOrUpdate] ON [dbo].[tblMedia] BEFORE INSERT, UPDATE AS BEGIN SET NOCOUNT ON DECLARE @IdMedia INTEGER, @NewSubject NVARCHAR(200)
以上がSQL Server トリガーでの再帰を防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。