0

私は弾丸を噛み、私のアプリケーションの要件をサポートするためのトリガーを理解しています。(テストテーブル上に)テストトリガーを作成しました。UPDATEステートメントが挿入されたレコードにのみ影響するように基準を追加するにはどうすればよいですか。

編集-テーブルにリンクしている例を他の場所で見つけましたが、insertedそれは機能しているようです。混乱させたくないので、明らかに問題がないことを確認するために、人々と健全性チェックを行いたいだけです!

ALTER TRIGGER ztblTest_INSERT 
   ON  we_ci_db.dbo.ztblTest
   AFTER INSERT
AS 
BEGIN
SET NOCOUNT ON;
UPDATE ztblTest
SET TestFieldB=we_ci_db.dbo.ztblTest.TestFieldA
WHERE TestID IN (SELECT DISTINCT TestID FROM inserted)

END
GO
4

1 に答える 1

2

と呼ばれる挿入/更新されたレコードの一時テーブルがありますinserted。これは、更新するテーブルと同じ構造である必要があるため、必要な基準で結合できます(または、質問で言及したように、where句で使用できます)。

トリガーは挿入のみを考慮しているため、質問に直接関係するわけではありませんが、トリガー中に使用するための削除されたレコードの一時テーブルもありますdeleted

このMSDNの記事には、これらの一時テーブルの使用例がいくつかあります。

于 2012-09-05T10:48:09.950 に答える