2009-08-25 22 views
0

現在のところ、これをテストする場所にいませんが、これがオプションかどうかを知りたいので、私の頭の中でソリューションの設計を開始できます。更新ステートメントを使用してSQL Server 2005挿入トリガー

テーブルに挿入トリガーを作成したいと思います。この挿入トリガーでは、私はinserted仮想テーブルから値を取得し、それらを使用して同じテーブルを更新したいと思います。これはうまくいくのでしょうか(たとえトリガーが更新コマンドではないにしても)何らかの無限ループに入るでしょうか?

たとえば、行が挿入された場合(ベンダーの新しいレート/コストを表す)、そのベンダーの旧レート/コストを期限切れにするために同じテーブルを更新したいとします。有効期限は、すでに存在するレコードを更新することと、レート/コストの履歴をレポート目的で保持できるようにすることです(現在のレポートインフラストラクチャでは、このようなことが起こるとは言いませんし、現在のレポート/データをSQLサーバ)。

ありがとうございます!

答えて

1

の場合は、INSERTトリガーとUPDATEトリガーは問題ありませんが、UPDATEとおそらくDELETEも捕捉したいと思います。

INSTEAD OFトリガーは再帰的に動作しないことが保証されています

表に定義されたINSTEAD OFトリガーは通常、再びトリガを INSTEAD OFトリガーを起動でしょう 表に対して文を実行した場合 が再帰的に呼び出されない

トリガーを使用すると、元のINSERTと更新の両方を実行する必要があります。

+0

実際にアクセスする方法とアクセス可能なアクセス許可が与えられているので、この表で更新トリガーを使用する予定はないので、わかりやすく聞こえます。私はINSTEAD OFを知りませんでしたので、それも良い情報です。ありがとう! – thomas

0

これは、別のUPDATEトリガーでINSERTを実行していないとすれば、問題が発生するようには聞こえません。

+0

更新内に挿入を行っていない...答えに感謝します。 – thomas

関連する問題