Trigger der Update verhindert ?
-
Hi Leute!
Ist folgendes möglich ? :
Ich habe einen Trigger der vor dem Update eines Datensatzes auslöst. Dieser soll irgendeine Bedingung prüfen und dann das Update verhindern.Ich stelle mir das irgendwie so vor:
CREATE TRIGGER CHECK_UPDATE FOR TABELLE BEFORE UPDATE AS BEGIN if [bedingung] then [nix] else [updateabbrechen]; END
Geht das ?
-
Klar, mit Oracle ist das ohne Weiteres möglich. Soll nichts geschehen wirfst du mehr oder weniger eine Exception. Läuft der Trigger durch ohne abgebrochen zu werden findet das Update statt.
MySQL oder andere "Datenbanken" können das nicht. Kommt also immer auf die DB an.
BTW: Mit den im Trigger vorhandenen Variablen :NEW und :OLD kannst du auf die jeweiligen Daten zugreifen. Ansonsten kannst du bei Oracle ganz normalen PL/SQL-Code in der Implementierung verwenden.
MfG SideWinder
-
Kannst du ein Beispiel posten, wie so eine Exception aussehen muss um das Update abzubrechen ?
-
http://www.oracle.com/technology/oramag/oracle/03-may/o33plsql.html
Schau nach RAISE_APPLICATION