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;
相关推荐
杜哥无敌几秒前
在SQL SERVER 中,用SSMS 实现存储过程的每日自动调用
数据库
Warren9814 分钟前
MySQL查询语句详解
java·开发语言·数据库·mysql·算法·蓝桥杯·maven
多读书19322 分钟前
MYSQL:JDBC编程
数据库·mysql
孙克旭_40 分钟前
day064-kodbox接入对象存储与配置负载均衡
linux·运维·阿里云·负载均衡
forestqq1 小时前
zabbix平台无法删除已停用主机的处理案例
运维·服务器·zabbix
Java侠1 小时前
graylog6.3 docker-compose部署全流程
运维·docker·容器·graylog·docker compose
大锦终1 小时前
【Linux】环境变量
linux·运维·服务器
萑澈1 小时前
我在 Arch Linux Plasma 6 Wayland 下驯服 Chromium 输入法的完整记录
linux·运维·服务器
favour_you___1 小时前
Linux信号捕捉与穿插中断
linux·运维·服务器
凯禾瑞华CGA老年综合评估1 小时前
借助CGA匹兹堡睡眠质量指数量表评估
数据库·cga老年综合评估系统·匹兹堡睡眠质量指数量表