带有编译错误的 Oracle 触发器创建

Oracle Trigger creation with compilation errors

我正在尝试使用以下代码创建一个简单的触发器 -

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 ;

但是我得到了 - [Err] ORA-24344: 成功但有编译错误 我不明白我做错了什么。

我的问题终于解决了。字段名称是小写的,所以我必须使用 NEW."menu_id" 而不是 NEW.MENU_ID,现在它可以正常工作了!!! 我的新代码是-

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 ;