PLSql:更新具有触发器冲突的表时出错

时间:2018-11-23 06:59:37

标签: oracle plsql

我需要更新表中值的状态,但该表具有关联触发器且条件不为空,它引发错误ORA-01400错误。

UPDATE ***** SET IND_VALID='0' WHERE ***** IN ('330534');

这是触发代码

create or replace 
TRIGGER "*******"."TIDUA_ECHANTFCE" 
 AFTER
 INSERT OR DELETE OR UPDATE
 ON MASTERCA.ECHANTFCE  REFERENCING OLD AS OLD NEW AS NEW
 FOR EACH ROW
declare
 seq_id integer;
 change_reason varchar2(4000);
 login varchar2(250);
 Version varchar2(80);
begin

 Version := 'AUDIT_TRAIL V1.0 / SPEC : xxxxxx v xx';
  change_reason := system.AUDTRAIL_CHGREASON.get_change_reason();
  login := system.connectionpool.get_user_login();
  select seq_audit_trail.nextval into seq_id from dual;

if UPDATING then
    insert into audtrailrow (audit_trail_row_id,table_name, data_row_id, change_type, user_login,
      change_dt, change_reason_value)
      values (seq_id, 'ECHANTFCE', :new.ID_ECHANT_FCE, 'U', login, sysdate, change_reason);

0 个答案:

没有答案