
Error Trigger
Publicado por RC (6 intervenciones) el 19/08/2010 16:29:48
Hola buenos dias, he creado un trigger que aparentemente esta bien, pero cuando quiero cambiar el campo status de la tabla bulto me da este error:
ORA-04091: la tabla ORCL.BULTO esta mutada, puede que el disparador/la no puedan verla
ORA-06512: en ORCL.TRGEXP, linea 4
ORA-04088: error durante la ejecucion del disparador 'ORCL.TRGEXP'
Adjunto trigger, Gracias
DROP TRIGGER ORCL.TRGEXP;
CREATE OR REPLACE TRIGGER ORCL.TRGEXP
AFTER INSERT OR UPDATE
OF STATUS
ON ORCL.BULTO
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE V_AGENCIA varchar2(4);
BEGIN
IF :new.status = '5000' THEN
select C.AGE into V_AGENCIA
from vdpedidocab c, vdbultocab b
where C.PEDS = B.PEDS and
C.DIV = B.DIV and
C.ANO = B.ANO and
C.PED = B.PED;
INSERT INTO ORCL.AUX_EXP
VALUES (:new.bulto,:new.div, sysdate,:new.alb,:new.ped,V_AGENCIA,:new.nbulto,null ,null ,null ,0,0 );
end if;
END TRGEXP
/
ORA-04091: la tabla ORCL.BULTO esta mutada, puede que el disparador/la no puedan verla
ORA-06512: en ORCL.TRGEXP, linea 4
ORA-04088: error durante la ejecucion del disparador 'ORCL.TRGEXP'
Adjunto trigger, Gracias
DROP TRIGGER ORCL.TRGEXP;
CREATE OR REPLACE TRIGGER ORCL.TRGEXP
AFTER INSERT OR UPDATE
OF STATUS
ON ORCL.BULTO
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE V_AGENCIA varchar2(4);
BEGIN
IF :new.status = '5000' THEN
select C.AGE into V_AGENCIA
from vdpedidocab c, vdbultocab b
where C.PEDS = B.PEDS and
C.DIV = B.DIV and
C.ANO = B.ANO and
C.PED = B.PED;
INSERT INTO ORCL.AUX_EXP
VALUES (:new.bulto,:new.div, sysdate,:new.alb,:new.ped,V_AGENCIA,:new.nbulto,null ,null ,null ,0,0 );
end if;
END TRGEXP
/
Valora esta pregunta


0