在创建表时出现错误。

9 浏览
0 Comments

在创建表时出现错误。

在创建这个表时出现错误,请帮忙解决:

CREATE TABLE FIPR_MASTER ( 
   FIPR_Id   INT NOT NULL GENERATED ALWAYS 
      AS IDENTITY 
      (START WITH 100 
       INCREMENT BY 1 
       MINVALUE 100 
       NO MAXVALUE 
       NO CYCLE 
       NO CACHE 
       ORDER) PRIMARY KEY, 
   FIPR_NAME VARCHAR2(40) NOT NULL, 
   BU_NAME    VARCHAR2(40) NOT NULL, 
   LOCATION VARCHAR2(40) NOT NULL, 
   RECORD_SOURCE_NAME   VARCHAR2(200) NOT NULL, 
   PRIORITY_QUEUE  VARCHAR2(40) NOT NULL, 
   STATUS  VARCHAR2(40) NOT NULL,
   INDEXING_TYPE VARCHAR2(40) NOT NULL,
   SOURCE_PATH  VARCHAR2(200) NOT NULL,
   DESTINATION_PATH  VARCHAR2(200) NOT NULL,
   COMMENTS VARCHAR2(200) NOT NULL
   )

错误:

CREATE TABLE FIPR_MASTER (

FIPR_Id INT NOT NULL GENERATED ALWAYS

AS IDENTITY

(START WITH 100

INCREMENT BY 1

MINVALUE 100

NO MAXVALUE

NO CYCLE

NO CACHE

ORDER) ,

FIPR_NAME VARCHAR2(40) NOT NULL,

BU_NAME VARCHAR2(40) NOT NULL,

LOCATION VARCHAR2(40) NOT NULL,

RECORD_SOURCE_NAME VARCHAR2(200) NOT NULL,

PRIORITY_QUEUE VARCHAR2(40) NOT NULL,

STATUS VARCHAR2(40) NOT NULL,

INDEXING_TYPE VARCHAR2(40) NOT NULL,

SOURCE_PATH VARCHAR2(200) NOT NULL,

DESTINATION_PATH VARCHAR2(200) NOT NULL,

COMMENTS VARCHAR2(200) NOT NULL, PRIMARY KEY(FIPR_Id)

)

错误报告 -

SQL错误:ORA-00907:缺少右括号

00907. 00000 - "缺少右括号"

*原因:

*操作:

0
0 Comments

在创建表时遇到了以下问题:

1. 身份列必须在任何内联约束之前声明(not null被视为内联约束)。

2. 由于你将其声明为主键(其中一个定义是pk列不能为空),因此无需显式指定not null

3. NO与MAXVALUE、CYCLE和CACHE之间不应有空格。

以下语句将适用于你,假设你的数据库版本是12.1或更高版本:

CREATE TABLE FIPR_MASTER ( 
   FIPR_Id   INT GENERATED ALWAYS 
      AS IDENTITY 
      (START WITH 100 
       INCREMENT BY 1 
       MINVALUE 100 
       NOMAXVALUE 
       NOCYCLE 
       NOCACHE 
       ORDER) PRIMARY KEY, 
   FIPR_NAME VARCHAR2(40) NOT NULL, 
   BU_NAME    VARCHAR2(40) NOT NULL, 
   LOCATION VARCHAR2(40) NOT NULL, 
   RECORD_SOURCE_NAME   VARCHAR2(200) NOT NULL, 
   PRIORITY_QUEUE  VARCHAR2(40) NOT NULL, 
   STATUS  VARCHAR2(40) NOT NULL,
   INDEXING_TYPE VARCHAR2(40) NOT NULL,
   SOURCE_PATH  VARCHAR2(200) NOT NULL,
   DESTINATION_PATH  VARCHAR2(200) NOT NULL,
   COMMENTS VARCHAR2(200) NOT NULL
);

0