如何重命名Oracle中的主键,以便可以重复使用

前端之家收集整理的这篇文章主要介绍了如何重命名Oracle中的主键,以便可以重复使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在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"  ) 
) 

有用.那么如何正确地将主键重命名为所有相关资源,以便其名称可以重复使用?

存在与主键约束相关联的索引,并且它可能仍然称为“PK_Mig1”.尝试这个:
ALTER INDEX "PK_Mig1" RENAME TO "PK_XXX";

猜你在找的Oracle相关文章