首页 文章

ORACLE SQL:更新触发后

提问于
浏览
0

问题陈述:

创建名为 trigger_contact_af_update 的触发器,每当更新 contact 表时都会触发该触发器 . 更新联系人详细信息后,此触发器将 org_name 和操作插入到表 contact_log_history 中 . 受影响的日志表 contact_log_history 中的操作名称为 After_Update_Contact .

我目前的查询是:

CREATE OR REPLACE TRIGGER  trigger_contact_af_update
AFTER UPDATE ON contact
FOR EACH ROW
BEGIN
INSERT INTO contact_log_history (org_name, action) Values (:OLD.org_name, 'After_Update_Contact');
END;

但它不起作用 . 有人可以告诉我为什么吗?

contact_log_history 只有两列 .

1 回答

  • 0

    使用:OLD变量仅在使用before触发器时有效 . 我会建议你在你的情况下这样做 .

    CREATE OR REPLACE TRIGGER  trigger_contact_af_update
    BEFORE UPDATE ON contact
    FOR EACH ROW
    BEGIN
    INSERT INTO contact_log_history (org_name, action) Values (:old.org_name, 'After_Update_Contact');
    END;
    

相关问题