Oracle - orden ejecucion triggers

 
Vista:

orden ejecucion triggers

Publicado por Javi (1 intervención) el 25/04/2009 18:44:11
Buenas,
Tengo 2 triggers que atacan a una misma tabla:

================= trigger 1
CREATE OR REPLACE TRIGGER "TAD"."CUS_CONDNI"
BEFORE INSERT OR UPDATE OF TAXID
ON C_BPARTNER FOR EACH ROW

declare

BEGIN

"TAD"."aux_dni".Newdat.taxid := :new.taxid;
........


================= trigger 2

CREATE OR REPLACE TRIGGER "TAD"."CUS_CONDNI_REC"
BEFORE INSERT OR UPDATE
ON C_BPARTNER

declare
CURSOR cemp(pdni varchar) IS
select *
from C_BPARTNER
where taxid Like pdni;
cepm_rec cemp%ROWTYPE;

dni varchar(19);
vend varchar(2);
cli varchar(2);
cont int;
actualizado number;
cont1 number;
cont2 number;
cont3 number;
tax2 varchar(20);

BEGIN

cont := 0;

dni := "TAD"."aux_dni".Newdat.taxid;

........

===========

En el primer trigger recojo los valores que quiero intrucir en la tabla y los guardo en un package para despues utilizarlos en el segundo trigger, lo hago en dos triggers por problemas de bases de datos mutantes.
El problema es que se me ejecuta antes el segundo trigger (el que utiliza los datos) y despues el primero (el que los coje), como puedo definir el orden de ejecución de los trigger, para qeu se ejecuta antes el primero???

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:orden ejecucion triggers

Publicado por Sergio (79 intervenciones) el 27/04/2009 07:08:45
¿Cual es la razón por la que ejecutas un SELECT sobre la misma tabla que intentas lanzar un trigger cuando sucede un UPDATE o DELETE?

¿Son muchos campos lo que tiene tu tabla y por eso el SELECT?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar