oracle触发器选择更新的行

时间:2013-10-14 09:33:41

标签: oracle triggers

我正在尝试构建一个触发器,它接受特定的更新行并将其插入另一个表中,但我无法构建它。

这是我能够建立的:

CREATE OD REPLACE TRIGGER Z_ONUPDATELOGIN
AFTER UPDATE OF LAST_LOGGED_IN_DATE ON CMN_SEC_USERS csu
BEGIN
  INSERT INTO Z_LOGIN (name, login_date) 
    select first_name||last_name, 
           last_logged_in_date 
      from cmn_sec_users usr 
     where usr.id=csu.id;
END;

1 个答案:

答案 0 :(得分:2)

处理触发器时,可以使用:NEW和:OLD关键字来处理要修改的行的新旧值。在你的情况下试试这个:

CREATE OR REPLACE TRIGGER Z_ONUPDATELOGIN
  AFTER UPDATE OF LAST_LOGGED_IN_DATE ON CMN_SEC_USERS
  FOR EACH ROW
BEGIN
    INSERT INTO Z_LOGIN (name, login_date) 
    VALUES (:NEW.first_name || :NEW.last_name, 
            :NEW.last_logged_in_date);  
END;