oracle怎么给已有的表建分区

1114
2024/1/11 12:12:15
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Oracle中,可以使用ALTER TABLE语句给已有的表建立分区。下面是一个示例:

-- 创建一个新的分区表
CREATE TABLE my_table (
    id INT,
    name VARCHAR2(50),
    date_created DATE
)
PARTITION BY RANGE (date_created)
(
    PARTITION p1 VALUES LESS THAN (TO_DATE('01-01-2022', 'DD-MM-YYYY')),
    PARTITION p2 VALUES LESS THAN (TO_DATE('01-01-2023', 'DD-MM-YYYY')),
    PARTITION p3 VALUES LESS THAN (TO_DATE('01-01-2024', 'DD-MM-YYYY')),
    PARTITION p4 VALUES LESS THAN (MAXVALUE)
);

-- 将已有的表转换为分区表
ALTER TABLE existing_table ADD PARTITION BY RANGE (date_created)
(
    PARTITION p1 VALUES LESS THAN (TO_DATE('01-01-2022', 'DD-MM-YYYY')),
    PARTITION p2 VALUES LESS THAN (TO_DATE('01-01-2023', 'DD-MM-YYYY')),
    PARTITION p3 VALUES LESS THAN (TO_DATE('01-01-2024', 'DD-MM-YYYY')),
    PARTITION p4 VALUES LESS THAN (MAXVALUE)
);

需要注意的是,你需要根据自己的具体需求修改分区方式和分区值。以上示例中使用的是按日期范围进行分区,你也可以根据其他列的取值范围来进行分区。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 怎么查看oracle索引是否生效