Wie, um eine Ausnahme in einem Trigger? Gibt es eine Möglichkeit, dies zu tun?
Es ist eine situation wie: Wenn die Gehalt-Spalte aktualisiert mit einem Wert kleiner als es der ursprüngliche Wert wird eine Fehlermeldung ausgegeben und lassen Sie das update NICHT passieren. Dies ist, was ich bisher geschrieben:
CREATE OR REPLACE TRIGGER TRIG1
BEFORE UPDATE OF SAL ON EMP
for each row
USER_XCEP EXCEPTION
WHEN (NEW.SAL<OLD.SAL)
BEGIN
RAISE USER_XCEP
EXCEPTION
WHEN USER_XCEP THEN
DBMS_OUTPUT.PUT_LINE('UPDATION NOT ALLOWED - ILLEGAL VALUES');
END;
Und ich bekomme die Fehlermeldung - Falsche Trigger-Spezifikation
Gibt es eine andere Möglichkeit, dies zu erreichen?
ist es der sql server-oder oracle ? Machen Sie Ihre Meinung! Sieht aus wie Oracle
Oracle - sorry, ich habe den falschen tag!
Oracle - sorry, ich habe den falschen tag!
InformationsquelleAutor Saturnian | 2013-09-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du bist fast da; Sie muss eine DECLARE-block in einem trigger wenn Sie möchten, erklären nichts; dies bedeutet, dass Ihr, WENN die Klausel ist an der falschen Stelle.
SQL Fiddle
Ein paar Punkte:
Lesen Sie mehr über intern definierte Ausnahmen in die Dokumentation
PRAGMA EXCEPTION_INIT( user_xcep, -20001 );
Der link am Ende der Antwort @WontSay :-). Es tritt eine Fehlermeldung auf die Ausnahme, so dass Sie wissen, was der Fehlercode zu suchen, wenn Sie wollen, um die Ausnahme zu fangen.
InformationsquelleAutor Ben
Dies ist für Oracle offenbar. Es wäre schön, wenn Oracle in den Titel, damit es nicht zeigen, bis auf jeder Suche.
InformationsquelleAutor Markus