加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

oracle – ORA-00955“名称已被现有工具行使”

发布时间:2021-05-21 01:45:17 所属栏目:站长百科 来源:网络整理
导读:我必要修改现有的PK.因此我放弃从头建设它. ALTER TABLE B DROP CONSTRAINT PK_B;ALTER TABLE B ADD CONSTRAINT PK_B PRIMARY KEY ("TYP","NR","HH","QUART"); 不幸的是,最后一个声明会给我一个错误ORA-00955 假如我建设PK束缚,就像它最初界说的那样: ALTER

我必要修改现有的PK.因此我放弃从头建设它.

ALTER TABLE B DROP CONSTRAINT PK_B;
ALTER TABLE B ADD CONSTRAINT PK_B PRIMARY KEY ("TYP","NR","HH","QUART");

不幸的是,最后一个声明会给我一个错误ORA-00955

假如我建设PK束缚,就像它最初界说的那样:

ALTER TABLE B ADD CONSTRAINT PK_B PRIMARY KEY ("TYP","HH");

统统正常.

大概有一个与PRIMARY KEY CONSTRAINT相干联的INDEX,它也被定名为PK_B.

您可以将其搜查为:

SELECT * FROM USER_INDEXES WHERE TABLE_NAME='<table_name>';

假如这是真的,那么:

ALTER INDEX "PK_B" RENAME TO "PK_XYZ";

更新:关于ALTER INDEX声明,Justin在评述中提到的几个要点

Oracle隐式建设一个UNIQUE索引来支持PRIMARY KEY CONSTRAINT.由于,索引与主键的名称沟通,而且此刻主键被修改,以是最好按仍是主键的界说再次删除并从头建设索引.

我的结论:

>主键束缚通过独一索引逼迫执行.
>假如Oracle已经找到索引 – 独一或非独一 – 它会行使它
对付主键.
>假如索引最初建设为非独一,则它将继承
表现为非独一,但现实上它将是一个独一索引.

Arup:Primary Keys Guarantee Uniqueness? Think Again.也是一个很好的演示,而且在其他方??面也很是具体

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读