1

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

这是我能够构建的:

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;
4

1 回答 1

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;
于 2013-10-14T10:16:43.627 回答