Mulder: Oracle: Sich gegenseitig auslösende Trigger

Beitrag lesen

Ich habe das Problem, daß für eine Übergangszeit zwei Datenbankschemata parallel laufen sollen, die beide aktiv sind, d.h. einige Applikationen greifen noch auf das alte, die neueren auf das neue Schema zu.
Daher kommt es - vereinfacht - zu folgender Situation:

Trigger auf Tabelle A, daß bei Update ein entsprechendes Update von Tabelle B gemacht wird.
Trigger auf Tabelle B, daß bei Update ein entsprechendes Update von Tabelle A gemacht wird.

Leider scheint mir da jedoch eine Endlosschleife zu kommen.
Hier die beiden Trigger:

create or replace TRIGGER trg_sync_cul_update
 after update
 on core_user_login
 for each row
 begin
  update passwort_dev
    set passwort = :new.password
  where
   code = :old.user_id;
 end;

create or replace TRIGGER trg_sync_passwort_update
 after update
 on passwort_dev
 for each row
 begin
  update core_user_login
  set
   login = :new.name,
   password = :new.passwort
  where user_id = :new.code;
 end;

Damit kriege ich jedoch einen Oracle-Fehler, lt. Oracle-KB deswegen, weil Trigger A feuert B feuert A und Fehler, weil Tabelle A gerade geändert wird.

Ich habe einen Workaround, bei dem die Trigger sich per übergebenem Extra-Wert verständigen, aber dazu muß ich jeder beteiligten Tabelle ein Extra-Feld spendieren und es erscheint mir auch zu gefummelt...

Jemand einen Vorschlag?