Problemas de ora-00001 en trigers pre Insert

De antemano muchas gracias por la información tenemos una aplicación en PHP sobre oracle 10G pero durante la ejecución nos ha pasado varias veces que arroja el mensaje de ORA-00001 Unique Constraint y esto corresponde a llaves primarias en la tabla, pero dicha llave el valor se actualiza en un preinsert de la tabla de este tipo:

CREATE OR REPLACE TRIGGER PRESUPUESTO_PISAMI.PREINSERT_TM_MOVTO
BEFORE INSERT
ON PRESUPUESTO_PISAMI.PPTO_TM_MOVTO
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
select nvl(max(PK_ID_MOVTO)+1,1) into :new.PK_ID_MOVTO from PPTO_TM_MOVTO;
:new.estado := 'A';
:new.usuario_inserta := user;
END;
/

Se supone que utilizamos esta practica para asegurar que no pase este tipo de errores por la velocidad de ejecución de la aplicación, pero aun así nos esta pasando, además el volumen de transacciones no creemos que sea tan alto para que suceda esto, quisiera saber que más podríamos revisr para poder subsanar este error.

Añade tu respuesta

Haz clic para o