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;
相关推荐
@ chen4 分钟前
Redis事务机制
数据库·redis
KaiwuDB21 分钟前
使用Docker实现KWDB数据库的快速部署与配置
数据库·docker
小皮侠34 分钟前
nginx的使用
java·运维·服务器·前端·git·nginx·github
一只fish43 分钟前
MySQL 8.0 OCP 1Z0-908 题目解析(16)
数据库·mysql
Maki Winster1 小时前
在 Ubuntu 下配置 oh-my-posh —— 普通用户 + root 各自使用独立主题(共享可执行)
linux·运维·ubuntu
泊浮目1 小时前
未来数据库硬件-网络篇
数据库·架构·云计算
静若繁花_jingjing1 小时前
Redis线程模型
java·数据库·redis
翻滚吧键盘2 小时前
debian及衍生发行版apt包管理常见操作
运维·debian
Charlene Fung3 小时前
vs code远程自动登录服务器,无需手动输入密码的终极方案(windows版)
运维·服务器·vscode·ssh
碣石潇湘无限路3 小时前
【部署与总结】从本地运行到公网服务器的全过程
运维·服务器