oracle – 执行唯一主键 – 删除索引

oracle – 执行唯一主键 – 删除索引,第1张

概述我想删除一个索引: DROP INDEX PK_CHARGES 但是我得到了这个错误 cannot drop index used for enforcement of unique/primary key 为什么我收到此错误?如果您需要,我会提供进一步的信息. 怎么解决? 编辑我在表中没有主键,但我发现这个奇怪的索引,我不记得我添加了: index name = SYS_C0040476 whi 我想删除一个索引:

DROP INDEX PK_CHARGES

但是我得到了这个错误

cannot drop index used for enforcement of unique/primary key

为什么我收到此错误?如果您需要,我会提供进一步的信息.

怎么解决?

编辑我在表中没有主键,但我发现这个奇怪的索引,我不记得我添加了:

index name = SYS_C0040476 which have the same columns

解决方法 您可以查询 ALL_CONSTRAINTS performance view以查看索引所使用的约束以及它适用于哪个表,例如:

select owner,constraint_name,constraint_type,table_name,index_owner,index_namefrom all_constraintswhere index_name = 'PK_CHARGES';

我希望表名为’CHARGES’,约束名称与索引名称匹配,约束类型为’P’.但是既然你有一张桌子,也许这些名字并没有遵循一个有用的约定.也许该表的旧版本被重命名,这将留下对新名称的约束(例如CHARGES_BACKUP或其他东西).

你说你点击表格,然后点击视图.也许您没有查看约束/索引所在的表;或者你可能正在查看实际表格上方的视图.您还在同一列上提到了一个SYS_索引 – 它们不能在同一个表中.您是否有多个类似的表,或访问多个模式?你也要对该索引运行上述查询.如上所述,您可能会找到该表的旧版本(或多个版本).

一旦确定了约束所在的表,就需要确定是否应该实际保留它,如果不是,则可以通过使用ALTER table命令删除约束来删除它.

总结

以上是内存溢出为你收集整理的oracle – 执行唯一/主键 – 删除索引全部内容,希望文章能够帮你解决oracle – 执行唯一/主键 – 删除索引所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1166868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存