【问题标题】:I wrote a trigger which is not working. Am I missing something?我写了一个不工作的触发器。我错过了什么吗?
【发布时间】:2013-06-07 07:13:55
【问题描述】:
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”不应该是插入到表中的新行详细信息吗?

【问题讨论】:

    标签: sql oracle plsql oracle10g


    【解决方案1】:

    试试下面的代码

    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 关键字前面插入值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-05
      • 2019-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多