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