在创建表时出现错误。
在创建表时出现错误。
在创建这个表时出现错误,请帮忙解决:
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 - "缺少右括号"
*原因:
*操作:
在创建表时遇到了以下问题:
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 );