テーブルの1つにトリガーを書き込んでいます。私がやりたいのは、挿入されたフィールドの1つで別のテーブル列を更新したいということです。
CREATE TRIGGER [dbo].[Trigger_TestTrigger]
ON [dbo].[TableA]
FOR INSERT
AS
BEGIN
SET NoCount ON
DECLARE @variable UNIQUEIDENTIFIER
SELECT @variable = TableB.colA1 FROM TableB WHERE (TableB.colB1 = INSERTED.colA1)
IF (@variable != INSERTED.colA2)
BEGIN
UPDATE TableB SET colB4 = INSERTED.colA2 WHERE TableB.colB1 =INSERTED.colA1
END
END
ただし、このトリガーをデータベースに作成するとエラーが発生します。エラーは次のとおりです。
"INSERTED.colA1" could not be bound.
"INSERTED.colA2" could not be bound.
通常INSERTEDには、挿入されたばかりの値があります。では、テーブル「TableA」に挿入した値をどのように取得する必要がありますか。挿入されたものがこのように使用できない場合、これを行う正しい方法は何ですか。