2010-08-05 4 views
1
여기

내가 오라클 SQL Developer의 출력이누락 괄호

DROP SEQUENCE S_JobStatus succeeded. 
CREATE SEQUENCE succeeded. 
DROP TABLE JobStatus succeeded. 
CREATE TABLE succeeded. 

Error starting at line 22 in command: 
CREATE TRIGGER JobStatus_SequenceTrigger 
BEFORE INSERT 
ON JobStatus 
    FOR EACH ROW 
    WHEN new.Id IS NULL 
    BEGIN 
     SELECT S_JobStatus.nextval into :new.Id from dual 
    END; 
Error report: 
ORA-00906: missing left parenthesis 
00906. 00000 - "missing left parenthesis" 
*Cause:  
*Action: 

가 어디에서 괄호를 잃었입니다 여기에

DROP SEQUENCE S_JobStatus; 

CREATE SEQUENCE S_JobStatus 
    INCREMENT BY 1 
    START WITH 1 
    NOMAXVALUE 
    NOMINVALUE 
; 
-- 
-- TABLE: JobStatus 
-- 

DROP TABLE JobStatus; 
CREATE TABLE JobStatus(
    Id    NUMBER(10, 0) NOT NULL, 
    ShortName  NUMBER(10, 0) NOT NULL, 
    Description NUMBER(10, 0) NOT NULL, 
    CONSTRAINT PK_JobStatus PRIMARY KEY (Id) 
) 
; 
/* DROP TRIGGER JobStatus_SequenceTrigger; */ 
CREATE TRIGGER JobStatus_SequenceTrigger 
BEFORE INSERT 
ON JobStatus 
    FOR EACH ROW 
    WHEN new.Id IS NULL 
    BEGIN 
     SELECT S_JobStatus.nextval into :new.Id from dual 
    END; 

를 실행하고 스크립트입니까?

+5

또한 세미콜론이 누락 :

WHEN (new.Id IS NULL) 

트리거 구문을 생성 SELECT 명령의 끝에서. –

답변