ORA-00907

oracle提示: ORA-00907: 缺少右括号

也有可能是缺少逗号造成的。

原因一、定义字段默认值时,将关键字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


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

猜你喜欢

转载自blog.csdn.net/gggwfn1982/article/details/81627827