hallo!
will (bzw. muss) mit einem trigger verhindern, dass ein insert erfolgt, wenn ein bestimmtes kriterium erfüllt ist. (hier: kein insert bei kunde mit bon = C.) hab schon gegoogelt und bin mittlerweile bei folgendem code.
das problem ist nur, dass er das insert trotzdem macht.
gibts den befehl "null;" überhaupt? wie kann man es sonst anstellen, dass das insert nicht durchgeführt wird?
lg und danke schon mal.
will (bzw. muss) mit einem trigger verhindern, dass ein insert erfolgt, wenn ein bestimmtes kriterium erfüllt ist. (hier: kein insert bei kunde mit bon = C.) hab schon gegoogelt und bin mittlerweile bei folgendem code.
Code:
CREATE OR REPLACE TRIGGER kunde_c
BEFORE INSERT ON rechnung
FOR EACH ROW
DECLARE
bon char(1);
bonitaet_c EXCEPTION;
BEGIN
SELECT k.bonitaet INTO bon
FROM kunde k
WHERE k.nr = :new.knr;
IF bon = 'C' THEN
RAISE bonitaet_c;
END IF;
EXCEPTION
WHEN bonitaet_c THEN
NULL;
END;
gibts den befehl "null;" überhaupt? wie kann man es sonst anstellen, dass das insert nicht durchgeführt wird?lg und danke schon mal.
danke! nur scheiterts bei mir schon wieder an der ausführung. ich ruf den trigger ja durch die tabelle "rechnung" auf, aber nun will ich ja einen datensatz aus eben dieser tabelle wieder löschen. (den, der nicht eingefügt hätte werden dürfen.) und das geht ja nicht, darf ja nicht auf die mutierende tabelle zugreifen. wie stell ich das mit dem löschen dann an?? 
Moderator
Kommentar