Oracle 11g新特性虚拟列分区
2014-11-11 16:50
471 查看
现在有个需求:一个单据表要按照月份来分区,如果是在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)
);
表已创建。
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新特性虚拟列分区
- Oracle 11g的新特性:虚拟列
- Oracle 11g新特性之--虚拟列(Virtual Column)
- Oracle 11g新特性-分区
- 【PARTITION】Oracle11g新特性之间隔分区运用说明
- Oracle 11g虚拟列上建分区
- Oracle 11g 数据库的新特性 —— 虚拟列
- Oracle 11g 新特性 -- 虚拟索引!
- Oracle 11g新特性之--虚拟列(Virtual Column)
- Oracle 11g 新特性:自动创建分区(Interval Partition)
- Oracle 11g 的新特性 —— 虚拟列
- oracle 11g 新特性应用--虚拟列&ora_hash() 在性能提升的作用(merge)
- Oracle 11g的新特性:虚拟列
- Oracle 11g 新特性(一)-- 虚拟列
- Oracle 11g 的新特性 —— 虚拟列
- ORACLE 11G间隔分区特性
- Oracle 11g 数据库的新特性--虚拟列
- oracle 11g分区表新特性---interval分区 的坑
- Oracle 10g特性之虚拟专用数据库
- Oracle11g新特性:在线操作功能增强-Oracle11g在线重定义功能对物化视图... (转载)