2
CREATE or REPLACE TRIGGER trigger_name
   AFTER INSERT OR UPDATE
   ON table1
   FOR EACH ROW
BEGIN
   INSERT INTO table2
        VALUES (NEW.request_id, NEW.user_concurrent_program_name,
                NEW.argument_text, NEW.comments, NEW.acknowledgement_status,
                SYSDATE, NEW.acknowledged_by);
END;
/

但这会引发以下错误:

LINE/COL ERROR
-------- -----------------------------------------------------------------
2/4      PL/SQL: SQL Statement ignored
3/17     PLS-00201: identifier 'NEW.REQUEST_ID' must be declared

'NEW' 不应该是插入到表中的新行详细信息吗?

4

1 回答 1

3

试试下面的代码

CREATE or REPLACE TRIGGER trigger_name
   AFTER INSERT OR UPDATE
   ON table1
   FOR EACH ROW
BEGIN
   INSERT INTO table2
        VALUES (:NEW.request_id, :NEW.user_concurrent_program_name,
                :NEW.argument_text, :NEW.comments, :NEW.acknowledgement_status,
                SYSDATE, :NEW.acknowledged_by);
END;
/

我刚刚放:在 ANew 关键字之前插入值。

于 2013-06-07T07:19:12.997 回答