create table patient (
p_code number(5) primary key,
p_name varchar2(50) not null,
DOB date(15) not null,
p_phone number(30) default null,
st varchar2(20) not null,
city varchar2(15) not null,
state varchar2(15) default null,
zip_code number(10) not null,
w_code number(5) references ward (w_code)
)
它给了我ORA-00907: missing right parenthesis
答案 0 :(得分:1)
在所有数据库中,当您遗漏NULL
时,列的默认值为not null
。所以,你可以写:
create table patient (
p_code number(5) not null primary key,
p_name varchar2(50) not null,
DOB date not null,
p_phone number(30),
st varchar2(20) not null,
city varchar2(15) not null,
state varchar2(15),
zip_code number(10) not null,
w_code number(5) references ward (w_code)
)
作为一个说明。为此,Oracle还接受null
和default null
,因此这些也是可以接受的:
p_phone number(30) null,
p_phone number(30) default null,
您的代码存在问题date(15)
。 date
没有采取长度参数。
顺便说一句,您应该使用字符串而不是数字来存储电话号码和邮政编码。它们可以有前导零。