在oracle 11G中自动删除最旧的分区
发布时间:2021-02-26 17:35:44 所属栏目:站长百科 来源:网络整理
导读:如果分区超过三个月,我需要从间隔分区表中删除分区. 是否有oracle实用程序/函数来执行此操作?或者如果没有,如何实现这个?请指导我. Database version: Oracle 11G 解决方法 我不知道有任何oracle实用程序或函数来执行此操作.您可以在DBA_TAB_PARTITIONS或A
如果分区超过三个月,我需要从间隔分区表中删除分区. 是否有oracle实用程序/函数来执行此操作?或者如果没有,如何实现这个?请指导我. Database version: Oracle 11G 解决方法我不知道有任何oracle实用程序或函数来执行此操作.您可以在DBA_TAB_PARTITIONS或ALL_TAB_PARTITIONS视图中找到编写自己的程序所需的信息,类似于以下内容:SELECT TABLE_OWNER,TABLE_NAME,PARTITION_NAME,HIGH_VALUE FROM SYS.DBA_TAB_PARTITIONS WHERE TABLE_OWNER = strSchema AND TABLE_NAME = strTable 其中strSchema和strTable是您感兴趣的模式和表.HIGH_VALUE是一个LONG字段,其中包含调用TO_DATE函数的代码(假设您的表在日期字段上分区);您需要将HIGH_VALUE分配给LONG字段,然后将LONG分配给VARCHAR2,以便在某个地方获取值,其方式类似于: lHigh_value LONG; strDate_clause VARCHAR2(100); lHigh_value := aRow.HIGH_VALUE; strDate_clause := lHigh_value; 然后,您只需从DATE子句中提取相应的字段,以确定需要删除的分区. 分享和享受. (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |