第 10 行:错误:ORA-00907 缺少右括号 |甲骨文 11g

Posted

技术标签:

【中文标题】第 10 行:错误:ORA-00907 缺少右括号 |甲骨文 11g【英文标题】:Line 10: ERROR: ORA-00907 missing right parenthesis | Oracle 11g 【发布时间】:2019-08-18 12:36:32 【问题描述】:

我正在尝试创建表,但它显示错误“ORA-00907:缺少右括号。”

CREATE TABLE member
(member_id NUMBER(10)
CONSTRAINT member_member_id_pk PRIMARY KEY,
last_name VARCHAR2(25)
CONSTRAINT member_last_name_nn NOT NULL,
first_name VARCHAR2(25),
address VARCHAR2(100),
city VARCHAR2(30),
phone VARCHAR2(15),
join_date DATE DEFAULT SYSDATE
CONSTRAINT member_join_date_nn NOT NULL);

CREATE TABLE title
(title_id NUMBER(10)
CONSTRAINT title_title_id_pk PRIMARY KEY,
title VARCHAR2(60)
CONSTRAINT title_title_nn NOT NULL,
description VARCHAR2(400)
CONSTRAINT title_description_nn NOT NULL,
rating VARCHAR2(4)
CONSTRAINT title_rating_ck CHECK
(rating IN ('G', 'PG', 'R', 'NC17', 'NR')),
category VARCHAR2(20),
CONSTRAINT title_category_ck CHECK
(category IN ('DRAMA', 'COMEDY', 'ACTION',
'CHILD', 'SCIFI', 'DOCUMENTARY')),
release_date DATE);

CREATE TABLE title_copy
(copy_id NUMBER(10),
title_id NUMBER(10)
CONSTRAINT title_copy_title_if_fk REFERENCES title(title_id),
status VARCHAR2(15)
CONSTRAINT title_copy_status_nn NOT NULL
CONSTRAINT title_copy_status_ck CHECK (status IN
('AVAILABLE', 'DESTROYED','RENTED', 'RESERVED')),
CONSTRAINT title_copy_copy_id_title_id_ pk
PRIMARY KEY (copy_id, title_id));

前两个表创建成功,第三个'title_copy'在第10行显示错误PRIMARY KEY (copy_id, title_id));

【问题讨论】:

您缺少几个逗号,例如第 5 行或第 6 行。您可以添加它们并重新运行吗? CREATE TABLE title_copy (copy_id NUMBER (10), title_id NUMBER (10) CONSTRAINT title_copy_title_id_fk REFERENCES title (title_id), status VARCHAR2 (15), CONSTRAINT title_copy_status_nn NOT NULL, CONSTRAINT title_copy_status_ck CHECK (status IN ('AVAILABLE', 'DESTROYED','RENTED', 'RESERVED')), CONSTRAINT title_copy_copy_id_title_id_ pk PRIMARY KEY (copy_id, title_id)); 它说,“第 6 行出现错误:ORA-00904: : 标识符无效。” 这是一个改进。第 6 行是什么? CONSTRAINT title_copy_status_nn NOT NULL, 【参考方案1】:

替换..:

[...]
CONSTRAINT title_copy_status_ck CHECK (status IN
('AVAILABLE', 'DESTROYED','RENTED', 'RESERVED')),
CONSTRAINT title_copy_copy_id_title_id_ pk
PRIMARY KEY (copy_id, title_id));

...作者:

[...]
CONSTRAINT title_copy_status_ck CHECK (status IN
('AVAILABLE', 'DESTROYED','RENTED', 'RESERVED')),
CONSTRAINT title_copy_copy_id_title_id_pk
PRIMARY KEY (copy_id, title_id));

注意删除的空格。

【讨论】:

以上是关于第 10 行:错误:ORA-00907 缺少右括号 |甲骨文 11g的主要内容,如果未能解决你的问题,请参考以下文章

SQL 错误:ORA-00907:缺少右括号 00907。00000 -“缺少右括号”

在 oracle 10g 中出现错误 .. 错误:- ORA-00907:缺少右括号

从 DB2 移植到 ORACLE - ORA-00907:缺少右括号

C# 错误 ORA 00907:缺少右括号

ORA-00907: ORACLE 10G 中缺少右括号

在 oracle SQL 中使用 insrt 函数遇到“ORA-00907:缺少右括号”