db2、oracle修改主键

1 篇文章 0 订阅
1 篇文章 0 订阅

1、db2修改主键

--第一步:增加列object_id
alter table SCM_ORG_MLTY_MACRO_INDEX add object_id varchar(30);
       
--第二部:将历史数据的object_id填充为com_id
update SCM_ORG_MLTY_MACRO_INDEX set object_id =com_id; 
commit;


--第三步:将object_id置为非空
alter table SCM_ORG_MLTY_MACRO_INDEX alter object_id set not null;


--第四步:删除主键
ALTER TABLE SCM_ORG_MLTY_MACRO_INDEX DROP  primary key ;  


--第五步:重组表结构
call sysproc.admin_cmd ( ' reorg table db2inst1.SCM_ORG_MLTY_MACRO_INDEX' );


--第六步:增加主键
ALTER TABLE SCM_ORG_MLTY_MACRO_INDEX ADD CONSTRAINT 
  PK_SCM_ORG_MLTY_MACRO_INDEX_object_id PRIMARY KEY(COM_ID,object_id, DATE1, INDEX_ID);

2、oracle修改主键

--第一步:增加列object_id
alter table SCM_ORG_MLTY_MACRO_INDEX add object_id varchar2(30);       
--第二部:将历史数据的object_id填充为com_id
update SCM_ORG_MLTY_MACRO_INDEX set object_id =com_id; 
commit;
--第三步:将object_id置为非空
alter table SCM_ORG_MLTY_MACRO_INDEX  modify object_id  varchar2(30) not null; 
--第四步:删除主键
ALTER TABLE SCM_ORG_MLTY_MACRO_INDEX DROP primary key;  
--第五步:增加主键
ALTER TABLE SCM_ORG_MLTY_MACRO_INDEX ADD (CONSTRAINT PK_SCM_ORG_MLTY PRIMARY KEY(COM_ID,object_id, DATE1, INDEX_ID));



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值