当前位置: 首页 > news >正文

oracle批量删除分区

为了清理数据,往往需要删除一些分区
简单查看当前分区
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
显示分区
提取分区high_value
附件

--创建测试表
--  drop table test_part purge;

CREATE TABLE test_part (
      sales_id NUMBER,
    sale_date DATE,
    amount NUMBER
)
PARTITION BY RANGE (sale_date)
INTERVAL (INTERVAL '1' MONTH)  -- 每个月创建一个分区
(
    PARTITION p_initial VALUES LESS THAN (TO_DATE('2025-01-01', 'YYYY-MM-DD'))  -- 初始分区,包含2025年1月之前的数据
);

--插入测试数据
insert into test_part values(1,sysdate-500,10);
insert into test_part values(2,sysdate-30,20);
insert into test_part values(3,sysdate+20,30);
commit;

--显示表结构
desc TEST_PART

--显示表定义
set pages 100
SET LONG 999 LONGCHU 10000
SELECT DBMS_METADATA.GET_DDL('TABLE', 'TEST_PART', 'SYS') FROM DUAL;

--查看当前分区
set line 200
col table_name for a12
col TABLESPACE_NAME for a12
col PARTITION_NAME for a12
col HIGH_VALUE for a88
select TABLE_NAME,PARTITION_NAME,HIGH_VALUE,PARTITION_POSITION,TABLESPACE_NAME,NUM_ROWS from DBA_tab_partitions where TABLE_NAME='TEST_PART';

--查看分区high_value
col PARTITION for a20
with xml as (
select dbms_xmlgen.getxmltype('select table_name, partition_name, high_value from user_tab_partitions where table_name = ''TEST_PART''') as x
from dual)
select extractValue(rws.object_value, '/ROW/TABLE_NAME') table_name,
extractValue(rws.object_value, '/ROW/PARTITION_NAME') partition,
extractValue(rws.object_value, '/ROW/HIGH_VALUE') high_value
from xml x,table(xmlsequence(extract(x.x, '/ROWSET/ROW'))) rws ORDER BY extractValue(rws.object_value, '/ROW/HIGH_VALUE');


--不是很严谨的过滤(extractValue的结果该用什么转换为日期呢?)
select table_name,partition,   high_value    from (
   with xml as (
   select dbms_xmlgen.getxmltype('select table_name, partition_name, high_value from user_tab_partitions where table_name = ''TEST_PART''') as x
   from dual)
   select extractValue(rws.object_value, '/ROW/TABLE_NAME') table_name,
   extractValue(rws.object_value, '/ROW/PARTITION_NAME') partition,
   extractValue(rws.object_value, '/ROW/HIGH_VALUE') high_value
   from xml x,table(xmlsequence(extract(x.x, '/ROWSET/ROW'))) rws ORDER BY extractValue(rws.object_value, '/ROW/HIGH_VALUE')) where high_value>'TO_DATE('' 2025-04-01' ;

过滤掉想要的分区
在这里插入图片描述

相关文章:

  • 【船舷外机】行业研究
  • 数据结构学习-第一天
  • 【注解简化配置的原理是什么】
  • springboot-ai接入DeepSeek
  • NO.71十六届蓝桥杯备战|搜索算法-递归型枚举与回溯剪枝|枚举子集|组合型枚举|枚举排列|全排列问题(C++)
  • SpringBoot自动装配原理---Spring
  • import cv2 安装失败
  • 语法: value=label_address( label);
  • PyTorch池化层详解:原理、实现与示例
  • ctf-show-micsx
  • 【Kubernetes】StorageClass 的作用是什么?如何实现动态存储供应?
  • TLS 1.2 握手过程,每个阶段如何保证通信安全?​​
  • 古诗词数据集(74602条简体版、繁体版) | 智能体知识库 | AI大模型训练
  • iOS APP集成Python解释器
  • OpenCV 在树莓派上进行实时人脸检测
  • C++ 内存访问模式优化:从架构到实践
  • Redis之布隆过滤器
  • Unity3D仿星露谷物语开发34之单击Drop项目
  • 算法思想之滑动窗口(一)
  • 人脸专注度检测系统(课堂专注度检测、人脸检测、注意力检测系统)
  • 网站建设与管理维护 李建青/广告优化师工作内容
  • 产品网站做营销推广/百度推广关键词排名规则
  • 唐山网站建设价格/百度笔记排名优化
  • 合肥知名网站制作/企业网站模板免费下载
  • 庙行镇seo推广网站/网络广告图片
  • 组网方案设计/成都seo网站qq