Oracle查询分区表的最后一个分区值
这是一个来自生产上的需求:数据库中的分区表(几十上百个)都是根据年份来分区的并且分区名称和分区年份一一对应(比如p2011对应'2011'),客户要求检查分区表的分区是否已经过时。比如现在是2014年,若一个表的最大分区时间为2013年或2012年,则该表的分区已过时,需要考虑增加分区之类的对策。
为了简化问题,这里只创建三个表来分析。
第一个分区表:
create table p1
(
id VARCHAR2(10),
name VARCHAR2(20)
)
partition by range (id)
(
partition p2011 values less than ('2011'),
partition p2012 values less than ('2012'),
partition p2013 values less than ('2013'),
partition p2014 values less than ('2014')
);
Table created.
第二个分区表:
create table p2
(
id VARCHAR2(10),
name VARCHAR2(20)
)
partition by range (id)
(
partition p2010 values less than ('2010'),
par