如何重命名Oracle中的主键,以便可以重复使用
发布时间:2020-12-12 15:12:42 所属栏目:百科 来源:网络整理
导读:在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
在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"; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |