2
我有一個表由3列組成的複合主鍵,我們假設A,B,C。我想創建一個觸發器,在UPDATE
將檢查這三列不會改變。這是我到目前爲止,但它似乎並沒有工作:創建一個不會讓更新主鍵列的觸發器
CREATE TRIGGER TableTrigger
ON Table
AFTER INSERT, UPDATE AS
BEGIN
IF (EXISTS (SELECT * FROM inserted) AND EXISTS (SELECT * FROM deleted))
BEGIN
-- Update Operation
IF (SELECT COUNT(*) FROM inserted WHERE A IS NOT NULL OR B IS NOT NULL OR C IS NOT NULL) > 0
BEGIN
RAISERROR('Error, you cannot change Primary Key columns', 16, 1)
ROLLBACK
RETURN
END
END
我期待,如果我更新表中的一些值,在inserted
爲列中的值,我不更新到爲NULL,但不是那樣的。我在某處讀到我需要在inserted
和deleted
中查看這兩個值是否發生了變化。所以我的問題是,我可以檢查這個沒有使用光標?
謝謝。
非常感謝你! – Cosmin 2013-03-23 11:44:42