在DB2 for Z / OS中创建表分区

时间:2018-08-06 09:40:56

标签: db2 ddl zos db2-zos

我们可以创建一个分区范围不按分区键排序的表吗? 例如。

PARTITION 00001 ENDING AT ('2018-07-02') INCLUSIVE 

PARTITION 00002 ENDING AT ('2018-07-03') INCLUSIVE 

PARTITION 00003 ENDING AT ('2018-07-08') INCLUSIVE 

PARTITION 00004 ENDING AT ('2018-07-05') INCLUSIVE 

PARTITION 00005 ENDING AT ('2018-07-20') INCLUSIVE

这是用于在DB2中创建分区表的有效DDL吗?

1 个答案:

答案 0 :(得分:2)

否,分区必须“按顺序”。 See here以获得更多详细信息(搜索partition-element)。我突出显示了相关部分。

  

键值必须遵循以下规则:

     
      
  • 第一个值对应于键的第一列,第二个值对应于键的第二列,依此类推。使用的值少于   键中的列与使用最高的列具有相同的效果   或所忽略列的最小值,具体取决于它们是否   是上升还是下降。

  •   
  • 任何分区中键的最大值必须小于下一个分区中键的最大值才能升序   例。

  •   
  • 强制执行为最后一个分区指定的值。为最后一个分区指定的值是键的最大值   可以放在桌子上任何大于该值的键值   为最后一个分区指定的值超出范围。

  •   
  • 如果所有值的串联都超过255个字节,则仅考虑前255个字节。

  •   
  • 如果键包含ROWID列或具有基于ROWID数据类型的不同类型的列,则该常量的17个字节为   考虑为相应的ROWID列指定的内容。

  •   
  • 如果为分区键指定了空值并且键正在升序,则除非指定MAXVALUE,否则将返回错误。如果   键为降序,除非MINVALUE为   指定。
  •