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.csdn.net/Develop/article/28/74812.shtm 】


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

你可能感兴趣的:(Oracle ERROR:ORA-00907: missing right parenthesis)