Sql Oracle索引的定义与约束相同
我与Oracle SQL Developer有一个问题,每当我转到表TBLCASENOTE的索引部分时,它总是告诉我我的索引“索引PK_TBLCASENOTE的定义与约束PK_TBLCASENOTE相同” 我发现了这一点,但似乎没有人有解决办法。用来做桌子的Sql Oracle索引的定义与约束相同,sql,oracle,oracle10g,ddl,oracle-sqldeveloper,Sql,Oracle,Oracle10g,Ddl,Oracle Sqldeveloper,我与Oracle SQL Developer有一个问题,每当我转到表TBLCASENOTE的索引部分时,它总是告诉我我的索引“索引PK_TBLCASENOTE的定义与约束PK_TBLCASENOTE相同” 我发现了这一点,但似乎没有人有解决办法。用来做桌子的 CREATE TABLE "DSAC"."TBLCASENOTES" ( "PRIMARYID" NUMBER(11,0), "CLIENTID" NUMBER(11,0), "INTAKEID" NUMBER(
CREATE TABLE "DSAC"."TBLCASENOTES" (
"PRIMARYID" NUMBER(11,0),
"CLIENTID" NUMBER(11,0),
"INTAKEID" NUMBER(11,0),
"AGENCYID" NUMBER,
"CREATEDDATE" DATE,
"CREATEDBY" VARCHAR2(30 BYTE),
"MODIFIEDBY" VARCHAR2(30 BYTE),
"MODIFIEDDATE" DATE,
"TCN" NUMBER DEFAULT 1,
"STAFF" VARCHAR2(30 BYTE),
"CASENOTETYPE" VARCHAR2(20 BYTE),
"CONTACTDATE" DATE,
"CONTACTHOUR" VARCHAR2(2 BYTE) DEFAULT null,
"CONTACTMIN" VARCHAR2(2 BYTE) DEFAULT null,
"CONTACTAMPM" VARCHAR2(2 BYTE) DEFAULT null,
"DHOUR" VARCHAR2(2 BYTE) DEFAULT null,
"DMIN" VARCHAR2(2 BYTE) DEFAULT null,
"BFDATE" DATE,
"NOTES" CLOB,
CHECK ("PRIMARYID" IS NOT NULL) ENABLE,
CHECK ("CLIENTID" IS NOT NULL) ENABLE,
CHECK ("INTAKEID" IS NOT NULL) ENABLE,
CONSTRAINT "PK_TBLCASENOTES" PRIMARY KEY ("PRIMARYID")
USING INDEX 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)
TABLESPACE "CONTACT" ENABLE,
CONSTRAINT "CASENOTES_CLIENT_FK" FOREIGN KEY ("CLIENTID") REFERENCES "DSAC"."TBLCLIENT" ("CLIENTID") ON DELETE CASCADE ENABLE,
CONSTRAINT "CASENOTES_INTAKE_FK" FOREIGN KEY ("INTAKEID") REFERENCES "DSAC"."TBLINTAKE" ("INTAKEID") ON DELETE CASCADE ENABLE
)
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)
TABLESPACE "CONTACT"
LOB ("NOTES") STORE AS (
TABLESPACE "CONTACT" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10
NOCACHE LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
);
CREATE INDEX "DSAC"."CASENOTESAGENCYINDEX" ON "DSAC"."TBLCASENOTES" ("AGENCYID")
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)
TABLESPACE "CONTACT";
CREATE UNIQUE INDEX "DSAC"."PK_TBLCASENOTE" ON "DSAC"."TBLCASENOTES" ("PRIMARYID")
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)
TABLESPACE "CONTACT";
CREATE UNIQUE INDEX "DSAC"."SYS_IL0000059271C00019$$" ON "DSAC"."TBLCASENOTES" (
PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "CONTACT"
PARALLEL (DEGREE 0 INSTANCES 0);
CREATE INDEX "DSAC"."TBLCASENOTESCLIENTINDEX" ON "DSAC"."TBLCASENOTES" ("CLIENTID")
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)
TABLESPACE "CONTACT";
CREATE INDEX "DSAC"."TBLCASENOTESINTAKEINDEX" ON "DSAC"."TBLCASENOTES" ("INTAKEID")
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)
TABLESPACE "CONTACT";
问题是,如果没有索引,Oracle会自动为主键创建索引。冲突是因为试图在同一列上创建索引,尽管名称略有不同 我的上一个位置设置约束与表创建分开,这意味着您将使用以下步骤:
谢谢你的解释。我做了一个
修改表TBLCASENOTES DROP约束PK\u TBLCASENOTES代码>这就解决了问题。