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



在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行和第7行;9.据我所见,所有的括号都是可见的。此问题同时出现在shell和APEX中。

您的创建表语句中存在两个问题:

  1. cat varchar2(20)

您有一个缺少逗号

  1. lennet char(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>

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

cat varchar2(20)
Refs varchar2(20),

因此,使用","(逗号)分隔两个字段,如

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

最新更新