oracle 分区练习笔记

FightFourEggs 2011-02-28

--1.=============================================================================

/**oracle按日期(字符串形)创建分区测试**/

/**创建分区表开始**/

/**存放2008年以前的数据**/

createtablespacedata2008

logging

datafile'D:\oracle\product\10.1.0\oradata\orcl\data2008.dbf'

size32m

autoextendon

next32mmaxsize2048m

extentmanagementlocal;

/**存放2009年的数据**/

createtablespacedata2009

logging

datafile'D:\oracle\product\10.1.0\oradata\orcl\data2009.dbf'

size32m

autoextendon

next32mmaxsize2048m

extentmanagementlocal;

/**存放2010年以后的数据**/

createtablespacedata2010

logging

datafile'D:\oracle\product\10.1.0\oradata\orcl\data2010.dbf'

size32m

autoextendon

next32mmaxsize2048m

extentmanagementlocal;

/**创建分区表结束**/

--2.=============================================================================

/**创建表并指定对应日期的数据存放到对应的空间开始**/

createtableTABLE_SPACE_TEST

(

TABLE_SPACE_TEST_IDNUMBERnotnull,

USERNAMEVARCHAR2(55),

BIRTYDAYVARCHAR2(33)

)

PARTITIONBYRANGE(BIRTYDAY)

(

PARTITIONpart_01VALUESLESSTHAN('2009-01-01')TABLESPACEdata2008,

PARTITIONpart_02VALUESLESSTHAN('2010-01-01')TABLESPACEdata2009,

PARTITIONpart_03VALUESLESSTHAN(maxvalue)TABLESPACEdata2010

);

/**创建表并指定对应日期的数据存放到对应的空间结束**/

--3.=============================================================================测试

/**插入数据,些数据将被存放在"data2008.dbf"数据块当中**/

insertintoTABLE_SPACE_TESTvalues(1,'jackie','2007-03-05');

/**插入数据,些数据将被存放在"data2009.dbf"数据块当中**/

insertintoTABLE_SPACE_TESTvalues(1,'jackie','2009-03-05');

/**插入数据,些数据将被存放在"data2010.dbf"数据块当中**/

insertintoTABLE_SPACE_TESTvalues(1,'jackie','2033-03-05');

/**结果有3条数据**/

select*fromTABLE_SPACE_TEST;

/**结果有1条数据**/

select*fromTABLE_SPACE_TESTpartition(part_01);

/**结果有1条数据**/

select*fromTABLE_SPACE_TESTpartition(part_02);

/**结果有1条数据**/

select*fromTABLE_SPACE_TESTpartition(part_03);

/**查询2009年之前(不含2009)和2010年之后(包括2010)的数据**/

select*from(

select*fromTABLE_SPACE_TESTpartition(part_01)

unionall

select*fromTABLE_SPACE_TESTpartition(part_03)

)

相关推荐