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) ;
我写了这个 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) ;