Hallo,
ich habe folgendes Problem:
Beim INSERT oder UPDATE von TABELLE_T soll SPALTE_S2 per Trigger auf den Wert ‚true‘ gesetzt werden, wenn SPALTE_S1 die Bedingung LIKE ‚_A%‘ erfüllt. BEFORE oder AFTER ist eigentlich egal.
Ich habe schon alle möglichen Kombinationen des folgenden Codes ausprobiert:
CREATE OR REPLACE TRIGGER tr
–AFTER
BEFORE
INSERT OR UPDATE OF spalte1 ON tabelle_t
FOR EACH ROW
WHEN ( NEW.spalte1 LIKE ‚_A%‘ )
BEGIN
NEW.spalte2 = ‚true‘
–UPDATE table_t SET spalte2 = ‚true‘ WHERE spalte1 LIKE ‚_A%‘
END
Der Trigger lässt sich kompilieren - allerdings mit „warning“. Beim INSERT oder UPDATE kommt aber leider die Fehlermeldung „ORA-04098: trigger ‚INVTIV.SWDREADY_TR‘ is invalid and failed re-validation“.
Für die Lösung wäre ich Euch sehr dankbar!
Gruß,
Martin