oracle分区表和分区表exchange

查询分区表分区内容

sql 复制代码
select * from emp2 partition(emp2_p3);

1 创建分区表emp1

sql 复制代码
CREATE TABLE emp1
(empno NUMBER(4) NOT NULL,
ename VARCHAR2(10),
sal NUMBER(7))
PARTITION BY RANGE(ename)
(partition emp2_p1 VALUES LESS THAN ('D'),
partition emp2_p2 VALUES LESS THAN ('Q'),
partition emp2_p3 VALUES LESS THAN (MAXVALUE)
);

2 创建分区表emp2

sql 复制代码
CREATE TABLE emp2
(empno NUMBER(4) NOT NULL,
ename VARCHAR2(10),
sal NUMBER(7))
PARTITION BY RANGE(ename)
(partition emp2_p1 VALUES LESS THAN ('D'),
partition emp2_p2 VALUES LESS THAN ('Q'),
partition emp2_p3 VALUES LESS THAN (MAXVALUE)
);

3 创建非分区表

sql 复制代码
create table emp_tmp
(
empno NUMBER(4) NOT NULL,
ename VARCHAR2(10),
sal NUMBER(7)
);

sql 复制代码
create table emp_test  as select * from emp1 where 1=0;(创建emp_test表和emp1表结构一样但没有数据)
create table emp_test  as select * from emp1;(创建emp_test表和emp1一模一样)

4 插入数据

sql 复制代码
insert into emp2 values(1,'Andy',575);
insert into emp2 values(2,'Derek',570);
insert into emp2 values(3,'Patrick',590);
insert into emp2 values(4,'Richard',400);
insert into emp1 values(5,'Heidi',666);

5 将emp2_p2和emp1_p2通过emp_tmp进行交换

sql 复制代码
alter table emp2 exchange partition emp2_p2  with table emp_tmp UPDATE GLOBAL INDEXES;
alter table emp1 exchange partition emp2_p2 with table emp_tmp UPDATE GLOBAL INDEXES;
alter table emp2 exchange partition emp2_p2  with table emp_tmp UPDATE GLOBAL INDEXES;
相关推荐
一个响当当的名号3 分钟前
ASP.NET 期末突击
运维·服务器
studytosky12 分钟前
Linux 基础开发工具(3):Git 控制与 GDB 调试实用指南
linux·运维·服务器·网络·数据库·git
凌睿马16 分钟前
关于复杂数据结构从MySQL迁移到PostgreSQL的可行性
数据结构·数据库·mysql
吕了了17 分钟前
给U盘一个PE to Go:将微PE系统直接释放到U盘
运维·windows·电脑·系统
pblh12321 分钟前
基于Docker部署测试PySpark
运维·docker·容器
飞翔沫沫情24 分钟前
vmware Esxi6.7 root密码重置
运维
是一个Bug31 分钟前
声明式事务:深度解析与实战指南
数据库·oracle
良策金宝AI34 分钟前
全球工程软件格局重塑:中国AI原生平台的机会窗口
大数据·运维·人工智能
yBmZlQzJ38 分钟前
财运到内网穿透-群晖NAS安装(docker版本)
运维·经验分享·网络协议·docker·容器
laocooon52385788641 分钟前
C#二次开发中简单块的定义与应用
android·数据库·c#