Hallo Leute,
ich würde gerne folgendes erreichen:
Wenn ein Datensatz in eine Tabelle eingefügt wird und in der Tabelle Foreign Keys enthalten sind, dann prüfen ob der Datensatz in der referenzierten Tabelle enthalten ist, sonst dort einen Dummy-Datensatz einfügen.
Wenn in der Tabelle schon ein Datensatz mit gleichem Primärschlüssel vorhanden ist, ein Update statt einem Insert machen.
Ich würde das Ganze gerne über Trigger machen, keine Stored Procedure wenn möglich.
Mein erstere Gedanke war ein Instead-Of-Trigger, die läßt mich das Oracle aber nicht für Tabellen anlegen (nur so nebenbei, wofür dann, wenn nicht für Tabellen??), außerdem würde es vermutlich einen endlos rekursiven Insert-Trigger geben, wenn ich dann dort erst wieder ein Insert machen würde.
Der zweite Ansatz wäre das mit den Foreign Keys im Before-Insert-Trigger zu machen und das Update im After-Insert-Trigger. Dazu müßte ich aber im After-Insert-Trigger abfragen können ob während des Inserts ein Fehler aufgetreten ist.
Weiß jemand wie das geht oder gibts bessere Ideen wie ich sowas realisieren kann?
Grüße, Robert