Bonjour,
J'ai sur mes tables un trigger pour l'auto_increment:
Et un trigger de replication:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE SEQUENCE SEQ_C_PORT INCREMENT BY 1 START WITH 1 NOMAXVALUE NOCYCLE CACHE 10; CREATE TRIGGER TRIG_C_PORT BEFORE INSERT ON C_PORTFOLIO FOR EACH ROW BEGIN SELECT SEQ_C_PORT.NEXTVAL INTO :NEW.C_PORT_CODE FROM DUAL; END; /
L'enchainement de ces deux triggers provoquent une erreur de table mutante venant du trigger de replication (le deuxieme).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 CREATE TRIGGER REPLIC_C_PORT BEFORE UPDATE OR INSERT ON C_PORT FOR EACH ROW BEGIN INSERT INTO C_PORT@HISTO.ORDI5 (PORT_CODE, PORT_NAME, PORT_CURRENCY, CLIENT_TEL, CLIENT_CODE) VALUES (:NEW.PORT_CODE, :NEW.PORT_NAME, :NEW.PORT_CURRENCY, :NEW.CLIENT_TEL, :NEW.CLIENT_CODE); END; /
Existe t'il un moyen de passer outre ce probleme ?
S'agit il d'un mauvais emploi de :NEW ?
Le but etant d'avoir deux base totalement synchronisées, existe t'il un autre moyen d'effectuer cela ?
Partager