【问题标题】:How to create a Subpartition on Date with an existing Partiion by range (also on Date) in Oracle database?如何在 Oracle 数据库中使用现有分区(也在日期上)在日期上创建子分区?
【发布时间】:2017-09-29 14:35:24
【问题描述】:

所以我在 Oracle 10g 上,我正在尝试在现有的物化视图上创建一个分区和子分区。

目前的分区语法如下:

CREATE MATERIALIZED VIEW TEST
NOLOGGING 
PARTITION BY RANGE(TEST_DATE)
SUBPARTITION BY RANGE(MONTH(TEST_DATE)) 
      ( PARTITION A0 VALUES LESS THAN ('01-01-2015')
       ,PARTITION A1 VALUES LESS THAN ('01-01-2016')
       ,PARTITION A2 VALUES LESS THAN ('01-01-2017')
       ...)
AS 
SELECT....

我收到一个语法错误,说我缺少右括号,我已经尝试了一整天,现在试图解决这个问题并在网上查找。任何人都可以帮助我朝着正确的方向前进吗?也许我可以按年分区和按月分区?

【问题讨论】:

  • 每年分区的每个月都有子分区的目的是什么?这看起来真的没用。

标签: sql oracle oracle11g oracle10g


【解决方案1】:

我认为这是不可能的,除非您对虚拟列进行一些修改。

为什么不简单地将间隔按月划分?

...
PARTITION BY RANGE (TEST_DATE) INTERVAL (INTERVAL '1' MONTH)
(PARTITION A_INITIAL VALUES LESS THAN (DATE '2014-01-01')

【讨论】:

  • 是否可以按年分区,然后按月分区?如果是这样,有人可以帮助我处理语法吗?提前致谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-01
  • 2020-08-26
  • 2023-02-23
  • 2023-04-04
  • 2019-10-31
  • 1970-01-01
相关资源
最近更新 更多