我现因数据量庞大,对目标表做了2层分区,rang分区后再list分区,
rang按时间,list按地区,
现我希望删除某个子分区数据,alter table truncate patition(***)
问题是,我如果得到返回的子分区名称?如果只是按时间,我可以按规律拼接出分区号,如PT2010什么的?、
计划写个函数,根据输入参数,日期+地区号 返回子分区名称,请教各位大侠。
------解决方案--------------------
查找数据字典就能得到分区表的信息,包括分区和子分区的名称
走函数,也只是将拼出所有分区的删除语句,然后再执行吧
partition (非固定值 自行去数据字典中找) subpartition (固定值 参数指定)
如果是这样的话,建议函数再加个参数,表名,以后也许还有地方要用到,就不用写死了
------解决方案--------------------
直接删除数据,可以不用指定分区名,指定分区字段条件就可以了