为什么此CREATE TABLE语句导致"ORA-00922缺失或无效选项"?

Pie*_*nry 3 sql oracle oracle-sqldeveloper

我使用SQL Developer(工具 - >卸载数据库)从一个Oracle数据库导出了一个模式.它创建了类似于这个的"create table"语句:

CREATE TABLE "APP_USER" 
   (    "ID" NUMBER(*,0), 
    "USERNAME" VARCHAR2(200), 
    "PASSWORD" NVARCHAR2(200), 
    "TYPE" VARCHAR2(20), 
    "FIRST_NAME" VARCHAR2(100), 
    "LAST_NAME" VARCHAR2(100)
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "LIS_DATA" ;
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在另一个数据库上执行代码时,也是从SQL Developer执行,它会触发"ORA-00922缺失或无效选项".

显然查询的存储部分有问题(以"SEGMENT"开头,以"DEFAULT"结尾),因为如果我删除它就可以了.但究竟是什么呢?

我只是一个恰好与Oracle合作的应用程序开发人员.我对SQL很好,但是这个Oracle存储参数对我来说是个中文.另外我很困惑,SQL Developer生成无效代码......

Ren*_*ene 8

我不熟悉"立即创建片段".它似乎是一个11G的功能.也许您正在尝试在旧版本数据库上使用11G功能创建表.