卸载数据库)从一个 Oracle 数据库中导出了一个模式。它创建了类似于此的“创建表”语句: CREATE TABLE "APP_USER" ( -6ren">
gpt4 book ai didi

sql - 为什么此 CREATE TABLE 语句会导致 "ORA-00922 missing or invalid option"?

转载 作者:行者123 更新时间:2023-12-01 11:03:34 25 4
gpt4 key购买 nike

我使用 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 生成无效代码感到困惑...

最佳答案

我不熟悉“立即创建分段”。好像是11G的特性。也许您正在尝试在旧版本数据库上使用 11G 功能创建表。

关于sql - 为什么此 CREATE TABLE 语句会导致 "ORA-00922 missing or invalid option"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8386487/

25 4 0