执行sql失败之后,再次执行的时候提示:ora-02429:无法删除用于强制唯一/主键的索引
Posted on 2015-05-05 22:31 Mr.ning 阅读(1906) 评论(0) 编辑 收藏 举报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已变更。
然后将数据库连接断开在连接,或者将索引刷新,发现刚才的两条约束已经被删除,问题解决。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步