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;
相关推荐
YOU OU9 小时前
Redis基础常识与命令
数据库·redis·缓存
Yana.nice10 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
Database_Cool_11 小时前
OLTP 和 OLAP 区别详解:分析型数据库和事务型数据库怎么选(附阿里云 AnalyticDB MySQL 选型指南)
数据库·mysql·阿里云
爱写代码的阿森12 小时前
鸿蒙三方库 | harmony-utils之KvUtil键值型数据库操作详解
数据库·华为·harmonyos·鸿蒙·huawei
Database_Cool_12 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
2601_9605679613 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
姜太小白13 小时前
【MySQL】 索引优化实战:解决 WHERE 等值 + IS NULL 查询,TEXT 字段报错 1167 的完整指南
数据库·mysql
窝子面13 小时前
手搓最简前后端协作-node
javascript·数据库
吳所畏惧13 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh