建表时缺少右括号错误

vison22 2006-10-23 12:12:45
我以前用的是mssql,现因工作需要转向Oracle,建一个表的时候,老提示缺少右括号:
sex number(1,0) not null and check(sex=0 or sex=1) and default 0,
*
ERROR 位于第 6 行:
ORA-00907: 缺少右括号

脚本如下,请高手指点:
...全文
240 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
vison22 2006-10-25
  • 打赏
  • 举报
回复
zcs_1(生生不息)兄:
呵呵,差点看漏了你的回复,同样谢谢你的指导!(经测试,你的答案绝对正确!谢谢)
这样吧,22分,你们一人11分,没意见吧?
vison22 2006-10-25
  • 打赏
  • 举报
回复
Eric_1999(╙@^@╜) 兄:
谢谢你了!现在才知道,在Oracle中,默认与约束是有次序的!害我搞了几天,都找不出错误!
把default提到约束前面——解决!
再次感谢!特以22分给Eric_1999(╙@^@╜) 兄做谢礼!
vison22 2006-10-23
  • 打赏
  • 举报
回复
搞错了,错误提示是这样的:
sex number(1,0) not null check(sex=0 or sex=1) default 0,
*
ERROR 位于第 6 行:
ORA-00907: 缺少右括号
vison22 2006-10-23
  • 打赏
  • 举报
回复
create table passport(
passport_id number(10,0) primary key,
nickname varchar2(20),
password number(10,0) check(password>99999),
mobile_num number(11,0) default 0,
sex number(1,0) not null check(sex=0 or sex=1) default 0,
head_ID number(3,0) not null check(head_ID>=0) default 0,
passport_type number(1,0) not null check(passport_type=0 or passport_type=1) default 0,
register_date date default null,
login_date date default null,
logout_date date default null,
online_time number(20) not null default 0,
nomal_account number(20) not null check(nomal_account>=0) default 0,
present_account number(20) not null check(nomal_account>=0) default 0)
Eric_1999 2006-10-23
  • 打赏
  • 举报
回复
default 在前面
zcs_1 2006-10-23
  • 打赏
  • 举报
回复
修改一下:

create table passport(
passport_id number(10,0) primary key,
nickname varchar2(20),
password number(10,0) check(password>99999),
mobile_num number(11,0) default 0,
sex number(1,0) default 0 not null check(sex=0 or sex=1) ,
head_ID number(3,0) default 0 not null check(head_ID>=0) ,
passport_type number(1,0) default 0 not null check(passport_type=0 or passport_type=1) ,
register_date date default null,
login_date date default null,
logout_date date default null,
online_time number(20) default 0 not null ,
nomal_account number(20) default 0 not null check(nomal_account>=0),
present_account number(20) default 0 not null check(present_account>=0) )

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧