表:MZDX
其中含日期字段udate现建立触发器,记录创建/修改时间
create or replace trigger mzdx_trigger  
  before insert or       
      update 
  on MZDX --目标表名 
  for each row 
  begin   
    :new.udate :=sysdate;
  end;但更新则出现错误:MZDX_TRIGGER is invalid and failed re-validation新手不知错误在哪,请大家帮忙

解决方案 »

  1.   

    重新执行你的触发器脚本之后 show error 看看具体错误出现在哪里..
      

  2.   

    SQL> create table a001(id number,udate date);Table created.SQL> create or replace trigger tri
      2  before insert or update on a001
      3  for each row
      4  begin
      5  :new.udate := sysdate;
      6  end;
      7  /Trigger created.SQL> show error
    No errors.
    SQL> insert into a001(1,sysdate);
    insert into a001(1,sysdate)
                     *
    ERROR at line 1:
    ORA-00928: missing SELECT keyword
    SQL> insert into a001 values (1,sysdate);1 row created.SQL> commit;Commit complete.SQL> select * from a001;        ID UDATE
    ---------- ------------
             1 09-OCT-12SQL> alter session set nls_date_format='yyyy/mm/dd hh24:mi:ss';Session altered.SQL> select * from a001;        ID UDATE
    ---------- -------------------
             1 2012/10/09 22:49:39SQL> update a001 set id=2;1 row updated.SQL> commit;Commit complete.SQL> select * from a001;        ID UDATE
    ---------- -------------------
             2 2012/10/09 22:53:12SQL>