万能的程序员的gravatar头像
万能的程序员 2018-01-30 16:41:25
数据库主键,索引的创建删除 --ORA-02429问题解决

今天遇到个问题做个笔记:主要就是向表中添加主键(联合的):

做个测试

1.先创建表:

create table LXCALLOG1
(
  aid     VARCHAR2(20) not null,
  calcode   VARCHAR2(10) not null,
  htdt      DATE not null,
  csnmcount INTEGER not null,
  operator  VARCHAR2(80) not null,
  makedate  DATE not null,
  maketime  VARCHAR2(8) not null
);

2.创建主键

alter table LXCALLOG1
  add constraint PK_LXCALLOG_1 primary key (AID, CALCODE, HTDT);

你会发现创建主键的同时也创建了索引


你再创建和上面一样字段的索引就不能创建了

3.单独删除主键

alter table LXCALLOG1
  drop constraint  PK_LXCALLOG_1;

3.删除主键以及级联的索引

alter table LXCALLOG1 drop constraint PK_LXCALLOG_1 cascade drop index;

4.为了测试创建索引我们要创建和主键字段不一样的索引

create unique index ID_LXCALLOG on LXCALLOG1 (AID, CALCODE);

5.删除索引

drop index ID_LXCALLOG;

如果在这个时候你不能删除你的索引,报错 ORA-02429 那么你就看看你的索引是不是和你的主键是级联的也就是砸门刚开始创建的那个,然后使用下面的语句删除。

alter table LXCALLOG1 drop constraint PK_LXCALLOG_1 cascade drop index;

以上就是创建和删除的方法。
 


打赏

已有1人打赏

最代码官方的gravatar头像
最近浏览
水光浮藻  LV6 2021年4月29日
2252536772  LV21 2019年9月10日
sky_hui  LV6 2019年6月26日
阿昌先生  LV13 2019年1月30日
景哥GG 2018年12月28日
暂无贡献等级
leicanquan  LV10 2018年3月12日
林二少 2018年3月12日
暂无贡献等级
S_Bility  LV18 2018年3月5日
孙启政  LV7 2018年3月1日
smile2017  LV5 2018年2月16日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友