2
我在爲我的一個表寫入觸發器。我想要做的是,我想用其中一個插入的字段更新另一個表列。在觸發器中使用插入的值
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.
正常插入具有被剛插入的valuse。那麼,我應該如何獲得我已經插入表格「TableA」的值。如果插入不能像這樣使用,那麼執行此操作的正確方法是什麼?
那麼,有沒有更好的方法來做到這一點。獲取剛剛插入的值到數據庫。因爲我必須更新其他表格。而且在我的更新中,我還必須使用插入。 intellisence也不會給任何插入的字段。 :( –
使用單個UPDATE查詢連接到插入並將INSERTED.colA2與TableB.colA1進行比較 – podiluska