如何在 Oracle DB 中创建按年交替的 5 个分区系统?

问题描述 投票:0回答:1

我想创建一个带有年份列的表,该列按年份值进行分区。然而,我不想设置一个特定的范围,而是希望每年连续一年转到 5 个分区的 5 年周期中的另一个分区。例如,年份为 2020 的行将位于分区 1 中,2021 = 分区 2,2022 = 分区 3,2023 = 分区 4,2024 = 分区 5,2025 将重新启动分区 1 的进程。我非常有信心需要 MOD 功能,但我尝试过的所有直观方法(例如执行以下操作)都不起作用。

   PARTITION BY RANGE (MOD(year, 5))
(
   PARTITION year_remainder_0 VALUES LESS THAN (1),
   PARTITION year_remainder_1 VALUES LESS THAN (2),
   PARTITION year_remainder_2 VALUES LESS THAN (3),
   PARTITION year_remainder_3 VALUES LESS THAN (4),
   PARTITION year_remainder_other VALUES LESS THAN (5)
)

任何见解将不胜感激。

当我运行上面的代码时,我得到的错误是缺少右括号,不太确定为什么,但我已经确认所有括号都有一个匹配的同级。

sql database oracle partition
1个回答
0
投票

将虚拟列添加到定义为

MOD(year, 5)
的表中,然后按该列进行列表或范围分区。

© www.soinside.com 2019 - 2024. All rights reserved.