slt a tous, voila je suis entrain de faire une replication multimaitre et mon pbm c la recursivité car mes trigger ne séarrettent pas de l'insertion, pour evité ca j'ai cree une fonction qui teste la cle 'ID' de ma table 'TAB' et retourne une valeur 'nb' qui est infecté dans le trigger a la valeur 'count_id' pour autorisé l'insertion mais j'ai tjrs le meme pbm de recursivité!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE OR REPLACE TRIGGER "REPM"."TIM" BEFORE INSERT ON "TAB" FOR EACH ROW DECLARE count_id INT:= :NEW.ID; begin count_id := REPM.RECHERCHE_SI_EXIST (COUNT_ID); if (count_id < 1 ) then insert into <a href="mailto:REPS.TAB@BS.us.oracle.com">REPS.TAB@BS.us.oracle.com</a> values ( :new.id ,:new.NOM,:new.PRENOM, :new.NE_LE ); END IF; end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE OR REPLACE FUNCTION "REPM"."RECHERCHE_SI_EXIST" (p_id number) return NUMBER IS nb number; begin select p_id into nb from REPM.TAB where (REPM.TAB.id = p_id); if NB > 0 THEN RETURN NB; ELSE RETURN NB; END IF; EXCEPTION WHEN NO_DATA_FOUND THEN nb :=0; RETURN nb; end;
merci d'avance
Partager