Oracle 将表里两个字段交换,Oracle: 用数据交换方式把表数据迁移到分区表实例(二)...

–进行数据交换

alter table kingstar.EMP_partition exchange partition emp_max with table kingstar.emp;

–查分区表数据

select * from kingstar.EMP_partition;

1 1  蔡浪 D 0 2008-8-1 12:22:13 1000.00 1000.00 10

2 2  蔡星 D 1 2008-9-1 13:23:12 5000.00 5000.00 10

–查源表数据已被清空

select * from kingstar.emp;

–往源表插数据,索引失效

insert into kingstar.emp values (1,’ 蔡浪’,’D’,0,to_date(’20080801 12:22:13’,’yyyymmdd hh24:mi:ss’),1000,1000,10);

insert into kingstar.emp values (2,’ 蔡星’,’D’,1,to_date(’20080901 13:23:12’,’yyyymmdd hh24:mi:ss’),5000,5000,10);

第 1 行出现错误:

ORA-01502: 索引 ’KINGSTAR.PK_EMP’ 或这类索引的分区处于不可用状态

–索引重建

alter index kingstar.pk_emp rebuild ;

–再插入数据可以完成

insert into kingstar.emp values (1,’ 蔡浪’,’D’,0,to_date(’20080801 12:22:13’,’yyyymmdd hh24:mi:ss’),1000,1000,10);

insert into kingstar.emp values (2,’ 蔡星’,’D’,1,to_date(’20080901 13:23:12’,’yyyymmdd hh24:mi:ss’),5000,5000,10);

–查询数据

select * from kingstar.emp;

1 1  蔡浪 D 0 2008-8-1 12:22:13 1000.00 1000.00 10

2 2  蔡星 D 1 2008-9-1 13:23:12 5000.00 5000.00 10

–拆分分区,只能将一个分区插成两个分区,并且指定插分后的第一个分区的内容如to_date(’200809’,’YYYYMM’)就是该分区emp_200808存放200808这个月数据

–也就是相当于定义分区时的 partition emp_200808 values less then(to_date(’200809’,’yyyymm’))

— into (partition emp_200810,partition emp_maxes); 指定拆分出来的less than 的分区名字和maxvalue的分区名字

alter table kingstar.emp_partition split partition emp_max at(to_date(’200809’,’YYYYMM’)) into (partition emp_200808,partition emp_max);

alter table kingstar.emp_partition split partition emp_max at(to_date(’200810’,’YYYYMM’)) into (partition emp_200809,partition emp_max);

alter table kingstar.emp_partition split partition emp_max at(to_date(’200811’,’YYYYMM’)) into (partition emp_200810,partition emp_upper);

alter table kingstar.emp_partition split partition emp_upper at(to_date(’200812’,’YYYYMM’)) into (partition emp_200811,partition emp_max);

–查询分区数据

select * from  kingstar.emp_partition partition(emp_200808);

1 1  蔡浪 D 0 2008-8-1 12:22:13 1000.00 1000.00 10

–修改分区名字

alter table kingstar.emp_partition rename partition emp_max to emp_upper;

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget

官方微博

TechTarget中国

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值