1

SQL Server 2005 または 2008:
特定のステータス フィールドが変更された場合にのみ、新しいレコードを同じテーブルに挿入する UPDATE トリガーがあります。

新しいレコードが適切に作成されるため、UPDATE トリガーが機能します。ただし、この方法でレコードが作成された場合、INSERT トリガーは起動しません。

トリガーから挿入ステートメントを取り出して個別に実行すると、レコードがフォームから作成された場合と同様に、INSERT トリガーが起動して正しく実行されます。

したがって、両方のトリガーは設計どおりに機能します。テストのために再帰を設定しましたが、うまくいきませんでした。簡単な質問だと思いますが、これは可能でしょうか?

4

1 に答える 1

0

サーバーのネストされたトリガーをオンにする必要があります。方法は次のとおりです。

EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE ;
GO
EXEC sp_configure 'nested triggers', 1 ;
GO
RECONFIGURE;
GO

これはすべてのデータベースに影響し、意図しない結果をもたらす可能性があることに注意してください(このようなカスケードを意図していないトリガーの場合)。

于 2013-06-14T19:51:34.630 に答える