行,所以我有一個非常基本的觸發器:INSERT觸發器沒有觸發更新?
在口頭上,插入後,獲取IP信息,並與新的數據
CREATE TRIGGER [BasicData.IPInfo.Gather]
ON [BasicData]
AFTER INSERT
AS
BEGIN
DECLARE @City VARCHAR(1000),
@Country VARCHAR(1000),
@IP VARCHAR(1000),
@ROWID UNIQUEIDENTIFIER
SELECT @IP=[IP],@ROWID=[ID] FROM [inserted]
SELECT @Country = [Country], @City= [City]
FROM [IPInfo] WHERE [IP] = @IP
IF (@City IS NOT NULL) AND (@Country IS NOT NULL)
BEGIN -- Never seems to fire
UPDATE [BasicData]
SET [IPCountry][email protected],[IPCity][email protected]
WHERE [ID] = @ROWID
END
ELSE
BEGIN -- Fired correctly
INSERT INTO [IPInfo.Missing] VALUES (@IP)
END
END
現在的問題是更新插入的行,它增加了丟失的IP正確的信息(只有當失蹤),但是,它似乎並沒有更新表時,它是什麼,我錯過了什麼?
伊夫調整了它在一切可能的方式我能想到的......(我的觸發知識是相當糟糕的)
我想一旦被插入插入數據時,它開火,就應立即更新,不需要更新觸發此AFAIK – 2013-04-06 14:15:15
什麼其他的觸發器,如果你有任何在該表上。如果你用一個插入替換你的更新語句到一個虛擬表,這是否工作?嘗試幾種不同的方法來看看有什麼不對的 – Brian 2013-04-06 14:31:21
沒有其他的觸發器,並且在一個虛擬桌子上,它像一個魅力 – 2013-04-06 14:36:40