ORA-009906: 缺少左括号错误?

ORA-009906: Missing left parenthesis error?

我写了这个 CREATE SQL 查询,但是当我尝试 运行 它时,我得到了这个 'missing left parenthesis' 错误 (ORA-009906),尽管它看起来不像我遗漏了任何内容,而且我一直盯着查询查询整整一个小时,试图找出答案。我使用 ORACLE SQL Developer 来创建我的查询。

CREATE TABLE new_table (driver_license  VARCHAR2(20),
                        SSN             NUMBER(10,0),
                        first_name      VARCHAR2(20),
                        last_name       VARCHAR2(20)    NOT NULL,
                        birth_date      DATE,
                        hire_date       DATE, -- The hire_date corresponds to when the employee is *first* hired.-- 
                        state           CHAR(2 BYTE)     DEFAULT 'UD',
                        CONSTRAINT ssn_pk PRIMARY KEY (SSN),
                        CHECK (hire_date > birth_date),
                        UNIQUE driver_license,
                        INDEX state_index);

应该是这样的:

CREATE TABLE new_table (driver_license  VARCHAR2(20),
                        SSN             NUMBER(10,0),
                        first_name      VARCHAR2(20),
                        last_name       VARCHAR2(20)    NOT NULL,
                        birth_date      DATE,
                        hire_date       DATE, -- The hire_date corresponds to when the employee is *first* hired.-- 
                        state           CHAR(2 BYTE)     DEFAULT 'UD',
                        CONSTRAINT ssn_pk PRIMARY KEY (SSN),
                        Constraint ssn_chk CHECK (hire_date > birth_date),
                        Constraint ssn_uq UNIQUE(driver_license) 
); 

如果您还想在(状态)上创建索引,您应该使用单独的 DDL 命令:

Create index ssn_state_ix on new_table (state) ;