Menu

#19 Oracle copy fails for table with simple key

open
nobody
None
5
2012-12-08
2010-04-26
No

I have a table with a simple primary defined. The Source tab says:

-------------------------------
CREATE TABLE I_SPECIES_CLASS
(
I_SPECIES_CLASS_CODE varchar2(2) PRIMARY KEY NOT NULL,
I_SPECIES_CLASS varchar2(25) NOT NULL
);
CREATE UNIQUE INDEX I_SPECIES_CLASS_PK ON I_SPECIES_CLASS(I_SPECIES_CLASS_CODE);
------------------------------

When I copy the table to a schema that does not have it defined already, it gives me the error: Copy failed: ORA-01408: such column list already exists.
Looking at the Source of the newly created table, it shows:
---------------------------
CREATE TABLE I_SPECIES_CLASS
(
I_SPECIES_CLASS_CODE varchar2(2) PRIMARY KEY NOT NULL,
I_SPECIES_CLASS varchar2(25) NOT NULL
);
CREATE UNIQUE INDEX SYS_C0015017 ON I_SPECIES_CLASS(I_SPECIES_CLASS_CODE);
--------------------------------------

I think it is creating an index for the primary key automatically, and then failing to create it explicitly. My work-around is to paste the table again and it skips the table creation step since the table is created in the destination schema already.

Discussion


Log in to post a comment.