ORA-00907:在Oracle 11G中创建表时缺少右括号

时间:2015-04-25 15:59:06

标签: oracle oracle11g ora-00907

在Oracle 11G中,我在创建下面的表格时收到错误ORA-00907: missing right parenthesis

create table structured_1000( 
year varchar2(4) NOT NULL,
    CP varchar2(50),
      ONSG varchar2(50),
      ONSLA varchar2(9),
      road varchar2(100) NOT NULL,
      cat varchar2(20)
  Refs varchar2(20),
  Refn varchar2(20),
  ajunction varchar2(20),
  bjunction varchar2 (20),
  lennet char(2)`
   );

我已经列出了整个表格,因为错误行有时会发生变化 - 显示了第6行和第6行。 9.从我可以看到的所有括号都是可见的。 shell和APEX都会出现此问题。

2 个答案:

答案 0 :(得分:0)

您的创建表中有拼写错误。您在两个字段定义之间缺少逗号,如:

cat varchar2(20)
Refs varchar2(20),

所以使用"," (逗号)分隔两个字段,如

 cat varchar2(20),
                 ^
Refs varchar2(20),

答案 1 :(得分:0)

创建表语句中有两个问题:

  1.   

    cat varchar2(20)

  2.      您有一个缺少逗号

    1.   

      lennet char(2)`

    2.      最后一个无效的反引号

      修复这两个问题将成功创建表:

      SQL> CREATE TABLE structured_1000
        2    (
        3      YEAR      VARCHAR2(4) NOT NULL,
        4      CP        VARCHAR2(50),
        5      ONSG      VARCHAR2(50),
        6      ONSLA     VARCHAR2(9),
        7      road      VARCHAR2(100) NOT NULL,
        8      cat       VARCHAR2(20),
        9      Refs      VARCHAR2(20),
       10      Refn      VARCHAR2(20),
       11      ajunction VARCHAR2(20),
       12      bjunction VARCHAR2 (20),
       13      lennet    CHAR(2)
       14    );
      
      Table created.
      
      SQL>