以前一开始以为建立表分区的时候必须写名字,某天一个同事突然问我,我建表分区的时候忘记写名字了,我怎么删除这个表分区呢?
这下子我突然在想,没有分区名字的表分区可以建立成功吗?
于是以下就自己来试验了下。
结论:1.建立没有表分区名字的表是可以建立的,这个时候系统会为该表分配一个系统随机名称。
2.在删除时,需要去系统表查看这个分区名称,然后再删除。
3.当表是分区表时,最后一个分区是不允许删除的,即分区表至少有一个表分区。
以下是实验过程:
SQL> CREATE TABLE iquery.lyq_cn_cook
2 (
3 yyyymmdd DATE
4 ,cookie_id VARCHAR2(100)
5 )
6 PARTITION BY RANGE (yyyymmdd)
7 (
8 PARTITION values less than (TO_DATE('20100301','YYYYMMDD')) ,
9 PARTITION P20100301 values less than (TO_DATE('20100302','YYYYMMDD'))
10 );
Table created.
Elapsed: 00:00:00.19
SQL> select PARTITION_NAME from dba_tab_partitions where TABLE_NAME =upper('lyq_cn_cook') ;
PARTITION_NAME
------------------------------
SYS_P353136
P20100301
2 rows selected.
Elapsed: 00:00:00.52
SQL> alter table iquery.lyq_cn_cook drop partition SYS_P353136;
Table altered.
附带转载分区操作文档: http://blog.csdn.net/tianlesoftware/archive/2009/10/24/4717318.aspx
这篇文章讲的很全。