【发布时间】:2018-03-09 07:20:38
【问题描述】:
我将使用 Oracle 11g 的自动分区,我想知道是否有任何选项可以指定分区名称特定模式?
例如我有:
create table
pos_data (
start_date DATE,
store_id NUMBER,
inventory_id NUMBER(6),
qty_sold NUMBER(3),
)
PARTITION BY RANGE (start_date)
INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
(
PARTITION pos_data_init VALUES LESS THAN (TO_DATE('01-01-2017', 'DD-MM-YYYY')),
PARTITION pos_data_201702 VALUES LESS THAN (TO_DATE('01-02-2017', 'DD-MM-YYYY')),
PARTITION pos_data_201703 VALUES LESS THAN (TO_DATE('01-03-2017', 'DD-MM-YYYY')),
);
我将在 2017 年之前使用 init 分区来保存所有行,然后每个月进行分区。
如何命名自动生成的分区? 是否有机会创建名称结尾为 YYYYMM 的模式?或者我必须稍后重命名这些分区?
【问题讨论】:
-
您可以使用 PLSQL 和动态 SQL 来归档基于模式的命名
-
所以只有 scirpt-way 和自动生成的名称只是提高了 part1、part2、part3 等处的值?
-
@Sarpens 如果您使用间隔分区,那么您会被数据库生成的名称所困扰。正如 GurV 建议的那样,如果您需要某种命名模式,那么您将需要编写自己的代码来追溯重命名分区
标签: oracle oracle11g partitioning