在Oracle上,我创建一个这样的表:
CREATE TABLE "Mig1"(
"Id" INTEGER NOT NULL
, CONSTRAINT "PK_Mig1" PRIMARY KEY
(
"Id" )
)
然后,我重命名PK:
ALTER TABLE "Mig1" RENAME CONSTRAINT "PK_Mig1" TO "PK_XXX"
然后,我重命名表:
ALTER TABLE "Mig1" RENAME TO "XXX"
然后,我尝试创建另一个使用以前重命名的表的名称的表:
CREATE TABLE "Mig1"(
"Id" INTEGER NOT NULL
, CONSTRAINT "PK_Mig1" PRIMARY KEY
(
"Id" )
)
此时我得到:发生错误:ORA-00955:名称已被现有对象使用.这是因为不知何故,第一张表的主要关键是仍然以某种方式重新命名.如果我尝试创建这样的第二个表:
CREATE TABLE "Mig1"(
"Id" INTEGER NOT NULL
, CONSTRAINT "YYY" PRIMARY KEY
(
"Id" )
)
有用.那么如何正确地将主键重命名为所有相关资源,以便其名称可以重复使用?