【发布时间】:2011-12-05 14:05:25
【问题描述】:
我已经使用 SQL Developer(工具 -> 卸载数据库)从一个 Oracle 数据库中导出了一个模式。它创建了与此类似的“创建表”语句:
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" ;
但是当我尝试在另一个数据库上执行代码时,同样来自 SQL Developer,它会触发“ORA-00922 缺失或无效选项”。
显然查询的存储部分有问题(以“SEGMENT”开头并以“DEFAULT”结尾)”,因为如果我删除它,它就可以工作。但究竟是什么?
我只是一个碰巧必须与 Oracle 合作的应用程序开发人员。我对 SQL 没问题,但是这个 Oracle 存储参数的东西对我来说是中文的。另外,我对 SQL Developer 生成无效代码感到困惑......
【问题讨论】:
标签: sql oracle oracle-sqldeveloper