2016-06-15 9 views
1

Ich versuche, einen einfachen Trigger mit folgendem Code zu erstellen -Oracle Trigger-Erstellung mit Kompilierungsfehlern

CREATE OR REPLACE TRIGGER trg_menu_id BEFORE INSERT ON "menu" FOR EACH ROW 
BEGIN 
SELECT 
    menu_id_seq.NEXTVAL INTO : NEW.MENU_ID 
FROM 
    dual ; 
END ; 

Aber ich bin immer - [Err] ORA-24344: Erfolg mit Kompilierungsfehler Ich verstehe nicht, was ich falsch mache.

+0

achten Sie auf Doppelpunkt vor NEW. Dort sollte kein Platz sein. Ist Ihr Tisch wirklich "menu" in Kleinbuchstaben? – micklesh

+0

Ich habe auch versucht, nach dem Doppelpunkt Raum zu entfernen. Aber das gleiche Ergebnis. Ja Tabellenname ist in Kleinbuchstaben –

+0

posten Sie bitte die komplette Fehlerausgabe. run: Zeigt Fehler nach der Ausführung des Triggers an, um die vollständige Ausgabe zu erhalten – anudeepks

Antwort

1

Endlich ist mein Problem gelöst. Feldname war im Kleinbuchstaben, also muss ich NEW."menu_id" anstelle von NEW.MENU_ID benutzen und jetzt funktioniert es gut !!! Mein neuer Code ist-

CREATE OR REPLACE TRIGGER trg_menu_id BEFORE INSERT ON "menu" FOR EACH ROW 
BEGIN 
SELECT 
    menu_id_seq.NEXTVAL INTO :NEW."menu_id" 
FROM 
    dual ; 
END ;