Oracle11g ORA-00907:创建表时缺少右括号

Oracle11g ORA-00907:创建表时缺少右括号,oracle11g,runtime-error,Oracle11g,Runtime Error,我试图创建3个表,但出现以下错误: CREATE TABLE dj_abonent ( dj_klientID INT NOT NULL PRIMARY KEY, emer_klienti varchar2(10), mbiemer_klienti VARCHAR2(10), sasia_cel INT ); CREATE TABLE dj_phones ( phone_number varchar2(12), activated number(1) default 0, act

我试图创建3个表,但出现以下错误:

CREATE TABLE dj_abonent 
( 
dj_klientID INT NOT NULL PRIMARY KEY, 
emer_klienti varchar2(10), 
mbiemer_klienti VARCHAR2(10),
sasia_cel INT
);

CREATE TABLE dj_phones
(
 phone_number varchar2(12),
 activated number(1) default 0,
 activation_date date default null,
 CONSTRAINT dj_phone_number_check
CHECK (substr(phone_number,1,5) in( '35566','35567','35568','35569') ),
 CONSTRAINT dj_activated_check
  CHECK (activated in(1,0) ) 
dj_KlientID int FOREIGN KEY REFERENCES dj_Abonenti(dj_KlientID)
);

CREATE TABLE dj_telef
(
start_time date,
end_time date,
abonent_1 varchar2(10),
abonent_2 varchar2(10)
);

Error at Command Line : 26 Column : 17
Error report -
SQL Error: ORA-00907: missing right parenthesis
00907. 00000 -  "missing right parenthesis"
*Cause:    
*Action:

行号来自您的SQLDeveloper脚本窗口,这并不完全有帮助,因为它似乎与问题不一致。可能还有其他事情,但在检查约束后缺少逗号(就像)。但您应该在命令的末尾添加约束:

CREATE TABLE dj_phones
(
 phone_number varchar2(12),
 activated number(1) default 0,
 activation_date date default null,
 dj_KlientID int FOREIGN KEY REFERENCES dj_Abonenti(dj_KlientID)
 CONSTRAINT dj_phone_number_check
  CHECK (substr(phone_number,1,5) in( '35566','35567','35568','35569') ),
 CONSTRAINT dj_activated_check
  CHECK (activated in(1,0) ) 
);

如果您一次运行一条语句(使用run statement命令(control enter),或者通过突出显示文本one-one命令并使用run script(F5),您可能会发现调试这些问题更容易。

您似乎在学习一些基本知识,并对遇到的每个错误提出问题;不清楚你是否真的自己做了很多调查或实验,或者是否真的接受了你得到的答案。我们通常很乐意帮忙,但前提是你也表现出努力。