【发布时间】:2018-03-17 19:45:01
【问题描述】:
我正在使用 oracle pl.sql 开发人员。我有两个模式,我想从另一个模式中的一个模式创建一个表。我使用 dbms_metadata.getddl() 来检索创建表脚本。但是,当我在另一个模式中运行该脚本时,我得到 ORA-00906L 缺少左括号错误。代码如下:
CREATE TABLE "DWH"."IBS_S_DOCUMENT_1" OF "DWH"."IBS_S_DOCUMENT_T_1"
(
CONSTRAINT "XPK_S_DOCUMENT" PRIMARY KEY ("CODE")
USING INDEX (CREATE UNIQUE INDEX "DWH"."XPK_S_DOCUMENT" ON "DWH"."IBS_S_DOCUMENT_1"
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
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 "DWH_INDEX" ) ENABLE,
CONSTRAINT "HSYS_005480" CHECK (DATE_ACTIV IS NOT NULL) ENABLE,
CONSTRAINT "HSYS_005481" CHECK (DATE_CORRECT IS NOT NULL) ENABLE,
CONSTRAINT "HSYS_005482" CHECK (CORRECTURE IS NOT NULL) ENABLE,
CONSTRAINT "HSYS_005483" CHECK (Correcture IN ('A', 'C', 'D', 'T', 'U')) ENABLE
) OBJECT IDENTIFIER IS PRIMARY KEY
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
STORAGE(
INITIAL 16384 NEXT 16384 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "DWH_DATA"
NESTED TABLE "IBS_S_DOCUMENT_1_H" STORE AS "IBS_S_DOCUMENT_1_HIS"
(( PRIMARY KEY ("NESTED_TABLE_ID", "DATE_ACTIV") ENABLE)
ORGANIZATION INDEX PCTTHRESHOLD 50
NOCOMPRESS PCTFREE 10 INITRANS 2 MAXTRANS 255 LOGGING
STORAGE(INITIAL 16384 NEXT 16384 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "DWH_INDEX" ) RETURN AS VALUE
IBS_S_DOCUMENT_T_1 类型如下:
CREATE OR REPLACE TYPE "IBS_S_DOCUMENT_T_1" as object (
CODE VarChar2(2),
NAME IBS_S_DOCUMENT_1_NVT,
DATE_ACTIV DATE,
DATE_DEACT DATE,
DATE_CORRECT DATE,
CORRECTURE VarChar2(1),
CONDITION VarChar2(1),
IBS_S_DOCUMENT_1_H IBS_S_DOCUMENT_1_NT
);
为什么会出现 ora-00906 错误?有人可以帮忙吗?
【问题讨论】:
-
(不是很重要;但是,它不是“oracle pl.sql developer”,而是 Oracle SQL Developer)。由于您已经使用该工具,请单击表名称 - 在右侧将打开其描述。最后一个选项卡称为“SQL” - 单击它。复制该代码并将其粘贴到另一个架构中。有什么改善吗?
-
谢谢。实际上,我正在使用 pl/sql 开发人员。根据您所说,我在列选项卡中找到了“查看 sql”,但使用该 sql 不起作用,所以我尝试使用表的 ddl,它似乎有效。再次感谢
-
啊哈;所以它就是 Allround Automations 的 PL/SQL Developer。如果您设法解决了问题,我很高兴。
-
致所有社区最尊敬的 Oracle 标签亲爱的会员:有
ora-00900、ora-00904、ora-00907标签但没有ora-00906标签...请关注 :)