范围-具有间隔的范围组合分区-Oracle 11g R2

Smart_Oracle

我想做的是在同一分区键上创建一个包含Composite Range分区的表-按月分区和按天分区。

我已经尝试使用maxvalue或day interval作为子分区,但是它仍然无法正常工作,而且我没有主意。分区范围是2年,因此代码很长。我有一个分区范围的片段。

PARTITION BY RANGE (SCL_DATE) INTERVAL (NUMTOYMINTERVAL(1, 'MONTH')) 
  SUBPARTITION BY RANGE(SCL_DATE)
  (
      PARTITION JAN14 VALUES LESS THAN (TO_DATE('01/02/2014', 'DD/MM/YYYY'))
      (
        SUBPARTITION JAN14_1 VALUES LESS THAN(TO_DATE('01/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_2 VALUES LESS THAN(TO_DATE('02/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_3 VALUES LESS THAN(TO_DATE('03/01/2014', 'DD/MM/YYYY')),
        PARTITION JAN14_4 VALUES LESS THAN(TO_DATE('04/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_5 VALUES LESS THAN(TO_DATE('05/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_6 VALUES LESS THAN(TO_DATE('06/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_7 VALUES LESS THAN(TO_DATE('07/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_8 VALUES LESS THAN(TO_DATE('08/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_9 VALUES LESS THAN(TO_DATE('09/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_10 VALUES LESS THAN(TO_DATE('10/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_11 VALUES LESS THAN(TO_DATE('11/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_12 VALUES LESS THAN(TO_DATE('12/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_13 VALUES LESS THAN(TO_DATE('13/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_14 VALUES LESS THAN(TO_DATE('14/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_15 VALUES LESS THAN(TO_DATE('15/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_16 VALUES LESS THAN(TO_DATE('16/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_17 VALUES LESS THAN(TO_DATE('17/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_18 VALUES LESS THAN(TO_DATE('18/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_19 VALUES LESS THAN(TO_DATE('19/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_20 VALUES LESS THAN(TO_DATE('20/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_21 VALUES LESS THAN(TO_DATE('21/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_22 VALUES LESS THAN(TO_DATE('22/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_23 VALUES LESS THAN(TO_DATE('23/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_24 VALUES LESS THAN(TO_DATE('24/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_25 VALUES LESS THAN(TO_DATE('25/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_26 VALUES LESS THAN(TO_DATE('26/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_27 VALUES LESS THAN(TO_DATE('27/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_28 VALUES LESS THAN(TO_DATE('28/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_29 VALUES LESS THAN(TO_DATE('29/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_30 VALUES LESS THAN(TO_DATE('30/01/2014', 'DD/MM/YYYY')),
        SUBPARTITION JAN14_31 VALUES LESS THAN(TO_DATE('31/01/2014', 'DD/MM/YYYY'))
  ),  
温弗里德(Wernfried Domscheit)

我认为按月划分分区,按日划分分区是没有用的。只需按月(或按天,具体取决于您的需要)进行分区即可。

无论如何,此SQL应该可以工作:

CREATE TABLE THE_TABLE
(
  SCL_DATE  TIMESTAMP(0),
  SCL_DAY   NUMBER GENERATED ALWAYS AS (EXTRACT(DAY FROM SCL_DATE)) VIRTUAL,
  ... more COLUMNS
)
PARTITION BY RANGE (SCL_DATE) INTERVAL (INTERVAL '1' MONTH)
   SUBPARTITION BY LIST ( SCL_DAY )
   SUBPARTITION TEMPLATE
     (SUBPARTITION P01 VALUES (1),
      SUBPARTITION P02 VALUES (2),
      SUBPARTITION P03 VALUES (3),
      ...
      SUBPARTITION P30 VALUES (30)
      SUBPARTITION P31 VALUES (31)
      )
(  
  PARTITION P_201401 VALUES LESS THAN (TIMESTAMP '2014-01-01 00:00:00')
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有Oracle 11g的Oracle开发人员VM

来自分类Dev

比较Oracle 11g中2个不同行的2个不同列

来自分类Dev

使用Oracle 11g比较示例表中具有不同行和列的列

来自分类Dev

带有Oracle 11g的.net实体框架

来自分类Dev

什么是批量上传更有效的INSERT命令或SQL Loader-ORACLE 11g R2

来自分类Dev

将Oracle ODP.NET 12c第2版与Oracle 11g r2数据库一起使用

来自分类Dev

在Oracle 11g分区表上收集并发统计信息

来自分类Dev

如何在Oracle 11g(Windows 8)中启用分区?

来自分类Dev

Oracle 11g SQL将两行合并为一(有条件)

来自分类Dev

带有Oracle 11g连接问题的Jetty 9

来自分类Dev

带有子查询的外部联接(Oracle 11g)

来自分类Dev

如何安装Oracle 11g R2?

来自分类Dev

选择带别名和不带oracle 11g有什么区别?

来自分类Dev

获取Oracle 11g中所有用户的最后登录日期

来自分类Dev

timetampe列上的oracle范围分区

来自分类Dev

从Oracle XE 11g导入存储的proc时,Delphi XE2中的tSQLStoredProc错误?

来自分类Dev

Oracle 11g:将RAW(8)转换为整数范围0..255的表

来自分类Dev

如何安装Oracle 11g R2?

来自分类Dev

带有Oracle 11g的.net实体框架

来自分类Dev

什么是更有效的INSERT命令或SQL Loader进行批量上传-ORACLE 11g R2

来自分类Dev

分隔所有字段时显示某些字段SQL Oracle 11g

来自分类Dev

如何在Oracle 11g(Windows 8)中启用分区?

来自分类Dev

Oracle 11g SQL-在查询具有PIVOT的位置将NULL替换为零

来自分类Dev

Oracle 11g SQL将两行合并为一(有条件)

来自分类Dev

获取基于特定日期的所有可能日期的列表[oracle 11g]

来自分类Dev

具有多个子查询的Oracle 11g LISTAGG函数

来自分类Dev

Oracle 11g 从另一个具有重复项的表插入

来自分类Dev

Oracle 11g:选择 2 个值内的所有行

来自分类Dev

oracle 11G R2 Express Edition 支持多少个会话/连接?

Related 相关文章

  1. 1

    带有Oracle 11g的Oracle开发人员VM

  2. 2

    比较Oracle 11g中2个不同行的2个不同列

  3. 3

    使用Oracle 11g比较示例表中具有不同行和列的列

  4. 4

    带有Oracle 11g的.net实体框架

  5. 5

    什么是批量上传更有效的INSERT命令或SQL Loader-ORACLE 11g R2

  6. 6

    将Oracle ODP.NET 12c第2版与Oracle 11g r2数据库一起使用

  7. 7

    在Oracle 11g分区表上收集并发统计信息

  8. 8

    如何在Oracle 11g(Windows 8)中启用分区?

  9. 9

    Oracle 11g SQL将两行合并为一(有条件)

  10. 10

    带有Oracle 11g连接问题的Jetty 9

  11. 11

    带有子查询的外部联接(Oracle 11g)

  12. 12

    如何安装Oracle 11g R2?

  13. 13

    选择带别名和不带oracle 11g有什么区别?

  14. 14

    获取Oracle 11g中所有用户的最后登录日期

  15. 15

    timetampe列上的oracle范围分区

  16. 16

    从Oracle XE 11g导入存储的proc时,Delphi XE2中的tSQLStoredProc错误?

  17. 17

    Oracle 11g:将RAW(8)转换为整数范围0..255的表

  18. 18

    如何安装Oracle 11g R2?

  19. 19

    带有Oracle 11g的.net实体框架

  20. 20

    什么是更有效的INSERT命令或SQL Loader进行批量上传-ORACLE 11g R2

  21. 21

    分隔所有字段时显示某些字段SQL Oracle 11g

  22. 22

    如何在Oracle 11g(Windows 8)中启用分区?

  23. 23

    Oracle 11g SQL-在查询具有PIVOT的位置将NULL替换为零

  24. 24

    Oracle 11g SQL将两行合并为一(有条件)

  25. 25

    获取基于特定日期的所有可能日期的列表[oracle 11g]

  26. 26

    具有多个子查询的Oracle 11g LISTAGG函数

  27. 27

    Oracle 11g 从另一个具有重复项的表插入

  28. 28

    Oracle 11g:选择 2 个值内的所有行

  29. 29

    oracle 11G R2 Express Edition 支持多少个会话/连接?

热门标签

归档