如今有个需求:一个单据表要依照月份来分区。假设是在Oracle 10g上,仅仅能再加一个字段。

在Oracle 11g以后就不一样了。能够用虚拟列处理。

SQL> select * from v$version;

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

PL/SQL Release 11.2.0.1.0 - Production

CORE    11.2.0.1.0      Production

TNS for Linux: Version 11.2.0.1.0 - Production

NLSRTL Version 11.2.0.1.0 - Production

SQL> create table t_virtual

    (

     object_id number,

     object_name varchar2(100),

     created date

    )

    partition by list(to_number(to_char(created, 'MM')))

    (

     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)          

   );

  partition by list(to_number(to_char(created, 'MM')))

                             *

第 7 行出现错误:

ORA-00907: 缺失右括号



SQL> create table t_virtual

    (

     object_id number,

     object_name varchar2(100),

     created date,

     create_year AS (to_number(to_char(created, 'MM')))

    )

    partition by list(create_year)

    (

     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)    

   );

表已创建。

Oracle 11g新特性虚拟列分区的更多相关文章

  1. Oracle 11g 新特性(一)-- 虚拟列

    数据库版本: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Oracle11g 增加了虚拟列的新特性, 具体说明如 ...

  2. Oracle 11g 新特性 --SQL Plan Management 说明

    Oracle 11g 新特性 --SQL Plan Management 说明 参见大神博主文章: http://blog.csdn.net/tianlesoftware/article/detail ...

  3. Oracle 11g 新特性 – HM(Hang Manager)简介

    在这篇文章中我们会对oracle 11g 新特性—hang 管理器(Hang Manager) 进行介绍.我们需要说明,HM 只在RAC 数据库中存在. 在我们诊断数据库问题的时候,经常会遇到一些数据 ...

  4. 使用Oracle 11g新特性 Active Database Duplication 搭建Dataguard环境

    Duplication Database 介绍 Duplicate database可以按照用途分为2种: duplicate database(复制出一个数据库) duplicate standby ...

  5. [oracle 11g 新特性] virtual column虚拟列

    总结:虚拟列可以使用于一些特殊场合,实质是类似于函数列(即以 表中已有的列 经过函数运算得来),“虚拟列不存储在数据库中,是在执行查询时由oracle后台计算出来返回给用户”,因此虚拟列不会增加存储空 ...

  6. Oracle 11g新特性

    文章转自网络 Oracle 11g于2007年7月11日美国东部时间11时(北京时间11日22时)正式发布,11g是甲骨文公司30年来发布的最重要的数据库版本,根据用户的需求实现了信息生命周期管理(I ...

  7. Oracle 11g 新特性 -- 自适应游标共享(Adaptive Cursor Sharing: ACS) 说明(转载)

    一.自适应游标共享(Adaptive Cursor Sharing) 说明 1.1 ACS概述绑定变量使Oracle DB 可以为多条SQL 语句共享单个游标,以减少分析SQL 语句所使用的共享内存量 ...

  8. Oracle 11g新特性延迟段创建和truncate的增强

    下面测试Oracle 11g开始的新特性truncate的增强和延迟段空间创建. Oracle从11g开始,当用户创建一张空表的时候不会先分配段和空间,只有当对这张表插入第一行数据的时候才分配段和空间 ...

  9. Oracle 11g新特性 -- 延迟段

    11gR2之前的版本中,当创建一张表时,会自动分配段空间,这样做有几个弊端: 1. 初始创建表时就需要分配空间,自然会占用一些时间,如果初始化多张表,这种影响就被放大. 2. 如果很多表开始的一段时间 ...

随机推荐

  1. Java 中类与类之间的关系

    在java中类和类之间的关系基本上有依赖.关联.聚合.组合等 一.继承关系     继承指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力.在J ...

  2. 论山寨手机与Android 【13】SmartPhone AP系统

    在第9章中我们提到,从功能上讲对于智能手机的一个粗略的概括是,智能手机 == 电脑 + 移动网卡,或者更准确地说,智能手机的硬件结构分为应用程序处理器AP,和基带处理器BP两个部分.这里隐含着两个问题 ...

  3. Flex中如何通过showAllDataTips属性使鼠标移动到图表时显示所有的数据Tips的例子

    原文 http://blog.minidx.com/2008/11/10/1616.html 接下来的例子演示了Flex中如何通过showAllDataTips属性,使鼠标移动到图表时显示所有的数据T ...

  4. CATALINA_BASE与CATALINA_HOME的区别(转)

    到底CATALINA_HOME和CATALINA_BASE有什么区别呢,之前因为都是小打小闹的在服务器上安装一个tomcat就得了,然后根据前人的配置,将CATALINA_HOME和CATALINA_ ...

  5. Learn X in Y minutes(python一页纸代码)

    一篇非常好的文章,解释了python基本语法的方方面面: # Single line comments start with a hash. """ Multiline ...

  6. Dynamics CRM 2013 初体验(5):Business Rule

    新系统中的Business Rule是个不错的功能,相信它的出现能减少大量的开发工作.在日常开发中,我们需要对记录做大量的业务控制.比如:某字段是否要隐藏,某字段的值是否符合要求以及现实提醒信息等.在 ...

  7. Hibernate 、Hql查询和Criteria查询

    HQL查询: public Object query(String name){ Session s=null; try{ s=HibernateSessionFactory.getSession() ...

  8. istream类的公有成员函数

    1 eatwhite 2 get 3 getline 4 gcount 5 ignore 6 operator>> 7 peek 8 read 9 seekg 10 tellg 1 eat ...

  9. ios 常用宏(copy)

    分享一下我现在用的 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3 ...

  10. C#:判断一个String是否为数字

    方案一:Try...Catch(执行效率不高)private bool IsNumberic(string oText){          try         {                 ...