视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
删除主键无法删除对应索引问题dropconstraint
2020-11-09 14:56:30 责编:小采
文档


--在删除一个表主键的时候索引没有删掉的问题,如果主键索引是和主键约束一起建的,则删除约束的时候索引会自动删除掉,如果是先

--在删除一个表主键的时候索引没有删掉的问题,如果主键索引是和主键约束一起建的,
则删除约束的时候索引会自动删除掉,如果是先建了索引,,然后建立主键,则删除约束的时候索引不会一起被删除掉

测试:
--创建测试表
create table dbmgr.test_pk as select * from REINSDATA.REINS_PROP_PLAN_ADJ where rownum <1000

--创建主键,同时创建索引,这里using index是默认的,如果不加还是会using index的
--using index
alter table dbmgr.test_pk
add constraint PK_test primary key (DANGERUNITNO, RERISKCODE, TTYID, CERTINO, RISKCODE)
using index

--删除约束
alter table dbmgr.test_pk drop constraint PK_test

--结果:约束和索引均被删掉

--再先创建一个唯一约束,然后添加对应的主键约束
--create unique index
create unique index dbmgr.PK_test on dbmgr.test_pk(DANGERUNITNO, RERISKCODE, TTYID, CERTINO, RISKCODE)

alter table dbmgr.test_pk
add constraint PK_test primary key (CERTINO,RERISKCODE,RISKCODE,DANGERUNITNO,TTYID)

--删除约束
alter table dbmgr.test_pk drop constraint PK_test


--结果:此时索引没有被删除

--对于这种情况,我们需要加上drop index选项,这样无论那种情况索引都会被删除
alter table dbmgr.test_pk drop constraint PK_test drop index;

本文永久更新链接地址:

下载本文
显示全文
专题