现在的位置: 首页 > 综合 > 正文

分区表 之 Interval分区 和 虚拟列 按星期分区表

2013年10月04日 ⁄ 综合 ⁄ 共 718字 ⁄ 字号 评论关闭

今天朋友问我说想建一个按星期分区的表,就是按星期几分区,没用过,就搜了下,可以用Oracle 11g 中虚拟列来实现。在11g之前 分区表的partition key必须是物理存在的。 11g开始提供了虚拟列,并且可以作为partition key 

关于分区表,之前也做个整理:

Oracle 分区表 

http://blog.csdn.net/xujinyang/article/details/6832735


Oracle 11g 新特性简介

http://blog.csdn.net/xujinyang/article/details/6829731

 

一.按星期分区表示例:

1. 创建分区表:

CREATE TABLE PT

(

   getdate   date NOT NULL,

   wd        NUMBER GENERATED ALWAYS AS (TO_NUMBER (TO_CHAR (getdate, 'D'))) VIRTUAL

)

PARTITION BY LIST (wd)

   (PARTITION Sun  VALUES (1),

    PARTITION Mon  VALUES (2),

    PARTITION Tue  VALUES (3),

    PARTITION Wed  VALUES (4),

    PARTITION Thu  VALUES (5),

    PARTITION Fri  VALUES (6),

PARTITION Sat   VALUES (7)

);

2. 插入测试数据

SQL> insert into pt(getdate) values(sysdate);

已创建 行。

抱歉!评论已关闭.