重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4378|回复: 0
打印 上一主题 下一主题

[Oracle] oracle 11g 分区之八:虚拟列分区

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-7 17:35:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
虚拟列的值从其他的列推导而来,Oracle只保存源数据,这个列不占存储空间。虚拟列其中一个引申功能就是虚拟列分区功能。
  表中有一个日期列,希望根据日期列进行分区,每个月份一个分区,总共12个分区,不管是哪一年的,只要是那个月,就放在那个月的分区中。
  具体例子如下:
  CREATE TABLE T_PARTITION_MONTH
  (
   ID NUMBER,
   NAME VARCHAR2(30),
   CREATE_DATE DATE,
   PARTITION_MONTH AS (TO_NUMBER(TO_CHAR(CREATE_DATE, 'MM')))
  )
  PARTITION BY LIST (PARTITION_MONTH)
  (
   PARTITION P1 VALUES (1),
   PARTITION P2 VALUES (2),
   PARTITION P3 VALUES (3),
   PARTITION P4 VALUES (4),
   PARTITION P5 VALUES (5),
   PARTITION P6 VALUES (6),
   PARTITION P7 VALUES (7),
   PARTITION P8 VALUES (8),
   PARTITION P9 VALUES (9),
   PARTITION P10 VALUES (10),
   PARTITION P11 VALUES (11),
   PARTITION P12 VALUES (12)
  );   

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-27 09:36 , Processed in 0.077658 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表