执行sql失败之后,再次执行的时候提示:ora-02429:无法删除用于强制唯一/主键的索引

SQL 1:select segment_name,partition_name,tablespace_name from  

--显示出表的主键的表空间是:SYSTEM

--以下是生成删除主键约束的脚本

select ‘alter table ‘||owner||‘.‘||table_name||‘ drop constraint ‘||constraint_name||‘ ;‘
from dba_constraints
where constraint_type in (‘U‘, ‘P‘)
and (index_owner, index_name) in
(select owner, segment_name
from dba_segments
where tablespace_name = ‘SYSTEM‘);

--查询结果有两条数据,正是我创建的约束条件名称

alter table SYSTEM.COST_LFS drop constraint COST_ID_PK_LFS ;
alter table SYSTEM.COST drop constraint COST_ID_PK ;

 

执行以上2条显示的结果

alter table SYSTEM.COST_LFS drop constraint COST_ID_PK_LFS ;

table SYSTEM.COST_LFS已变更。

alter table SYSTEM.COST drop constraint COST_ID_PK ;

table SYSTEM.COST已变更。

然后将数据库连接断开在连接,或者将索引刷新,发现刚才的两条约束已经被删除,问题解决。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。