Oracle ERROR:ORA-00907: missing right parenthesis




错误:

ORA-00907: missing right parenthesis

原因一、定义字段默认值时,将关键字default 放在默认值后面,如下:
 
 UPDATEDATE     DATE        
SYSDATE   DEFAULT

oracle的create table语法:

CREATE [ [ LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name (
    { column_name data_type [ DEFAULT default_expr ] [ column_constraint [, ... ] ]
    | table_constraint }  [, ... ]
).....

当字段给定默认值,default value 应该在[ column_constraint [, ... ] 之前,正确的name字段定义应该是:

 UPDATEDATE    DATE          DEFAULT   SYSDATE

【参考:http://dev.youkuaiyun.com/Develop/article/28/74812.shtm


原因二、观察用工具(TOAD)生成的表脚本,例如下面:
            CREATE TABLE T_STUDENT
           (
                  STUDNO  VARCHAR2(20 BYTE),
                  NAME    VARCHAR2(20 BYTE)
            )
字段的大小后面附有单位,如果自己手动写脚本时,建议将单位去掉。
附注:关于原因二,本人尚未能确定,不过确实出现过有单位即抛出异常,去单位则正常的情况】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值