2010-08-05 89 views
1

这里是我跑丢失的圆括号

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; 

这里是Oracle 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: 

我在哪里丢失的括号中的脚本?

+5

你还缺少一个分号 “;”在你的SELECT指令结束时。 – 2010-08-05 15:28:38

回答