我有了一個用戶ID列反正是有可在SQL服務器數據庫觸發器
我有了ID,名稱的用戶表中的訂單表中使用的緩存數據,
我會喜歡有一個數據庫觸發器,顯示按名稱插入,更新或刪除。
所以我結束了每個單獨的數據庫觸發器上這兩個表之間的連接。我認爲這樣會更好,如果我可以預先將用戶映射到ID,然後在我的觸發器上重複使用「lookup」。 。這可能嗎?
DECLARE @oldId int
DECLARE @newId int
DECLARE @oldName VARCHAR(100)
DECLARE @newName VARCHAR(100)
SELECT @oldId = (SELECT user_id FROM Deleted)
SELECT @newId = (SELECT user_id FROM Inserted)
SELECT @oldName = (SELECT name FROM users where id = @oldId)
SELECT @newName = (SELECT name FROM users where id = @newId)
INSERT INTO History(id, . . .
請注意,如果您更新一個事務中的兩條記錄,則此觸發器將失敗,因爲已刪除和插入的子查詢將返回兩條記錄。 – 2010-01-07 03:11:00