Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 为什么这个CREATETABLE语句会导致;ORA-00922缺少或无效选项;?_Sql_Oracle_Oracle Sqldeveloper - Fatal编程技术网

Sql 为什么这个CREATETABLE语句会导致;ORA-00922缺少或无效选项;?

Sql 为什么这个CREATETABLE语句会导致;ORA-00922缺少或无效选项;?,sql,oracle,oracle-sqldeveloper,Sql,Oracle,Oracle Sqldeveloper,我使用SQLDeveloper(工具->卸载数据库)从一个Oracle数据库导出了一个模式。它创建了与此类似的“create table”语句: CREATE TABLE "APP_USER" ( "ID" NUMBER(*,0), "USERNAME" VARCHAR2(200), "PASSWORD" NVARCHAR2(200), "TYPE" VARCHAR2(20), "FIRST_NAME" VARCHAR2(100),

我使用SQLDeveloper(工具->卸载数据库)从一个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" ;
但是,当我尝试在另一个数据库上执行代码时,它也会触发“ORA-00922缺少或无效选项”

显然,查询的存储部分(以“SEGMENT”开头,以“DEFAULT”结尾)有问题,因为如果我删除它,它就会工作。但到底是什么呢

我只是一名应用程序开发人员,碰巧必须与Oracle合作。我对SQL没什么意见,但这个Oracle存储参数的东西对我来说是中文的。另外,我对SQL Developer生成无效代码感到困惑…

我不熟悉“立即创建段”。这似乎是一个11G功能。可能您正试图在旧版本数据库上使用11G功能创建表。

来源:

ORA-00922:选项缺失或无效原因:

选择了无效的选项 在定义列或存储子句时指定。中的有效选项 指定列不为NULL以指定该列不能为空 包含任何空值。数据类型后面只能有约束。 指定日期或长数据类型的最大长度也会导致 这是一个错误。操作:更正语法。删除错误的选项或 柱的长度规格或存储规格


我想你成功了。我导出的DB是11g,我尝试导入10g。谢谢