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