2016-06-15 3 views
1

내가 다음 코드를 사용하여 간단한 트리거 만들기 위해 노력하고 있어요 -오라클 트리거 생성

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는 : 컴파일 오류와 성공 이해가 안 돼요 내가 뭘 잘못하고 있는지.

+0

입니다. NEW 이전에는 콜론에주의하십시오. 거기에는 어떤 공간도 있어서는 안됩니다. 또한 테이블은 실제로 소문자로 "메뉴"로 명명되어 있습니까? – micklesh

+0

나는 또한 콜론 뒤에 공백을 제거하여 시도했다. 그러나 같은 결과. 예 테이블 이름이 소문자 인 경우 –

+0

전체 오류 출력을 게시하십시오. 실행 : 트리거 실행 후 오류를 표시하여 완전한 출력을 얻습니다. – anudeepks

답변

1

마침내 내 문제가 해결되었습니다. 필드 이름은 작은 글자이므로 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 ;