oracle 分区练习笔记

--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)

)

相关推荐