创建数据库表时,关于ORA-00907: 缺失右括号与左括号问题总结

今天使用Oracle数据库建表的时候,遇到了“ORA-00907: 缺失右括号”的问题,关于这个,做了一些总结:
报错的sql语句:

create table pre_info(pre_name varchar2(20),pre_code varchar2(20),pre_num number(5),pre_price_old number(5),
pre_tax decimal(1,3),pre_price_net number(5,2),pre_dep varchar2(20),pre_starttime_plan date(8),pre_overtime_plan date(8),
pre_starttime_actu date(8),pre_overtime_actu date(8),pre_overtime_cust date(8),pre_overtime_cust varchar2(20),
pre_overtime_blo varchar2(1),pre_month varchar2(2));

改正后,sql语句如下:

create table pre_info(
pre_code varchar2(20) not null,
pre_name varchar2(20),
pre_num number(5),
pre_price_old number(5),pre_tax decimal(1,3),pre_price_net number(5,2),
pre_dep varchar2(20),pre_starttime_plan date,pre_overtime_plan date,
pre_starttime_actu date,pre_overtime_actu date,pre_overtime_cust varchar2(20),
pre_overtime_blo varchar2(1),pre_month varchar2(2),primary key(pre_code)
);

在创建数据表总结如下:
1.date限定字段大小的时候,会报错,比如,将date(12)去掉(12);
2.关键字顺序有误,也会报这样的错;
3.创建表时,如果表有关键字,用双引号括起来;
4.如果创建表时,未对字段中的表设置长度,也会报错;
5.创建主外键约束时外键类型跟主键类型不完全一致,也是会报错的。

同理,关于建表时左括号错误,可以参照上面总结。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值