oracle怎么删除存储,删除Oracle分区存储是一个怎样的过程?

CREATE OR REPLACE PROCEDURE "PRO_MESSAGE_DELETE"

is

names

varchar2(1024);

--分区名称

dates

varchar2(1024);

--分区日期

temp

varchar2(1024);

v_temp

varchar2(1024);

v_sql

varchar2(1024);

v_cs

varchar2(1024);

v_error varchar2(1024);

TYPE t_ref_cursor IS REF CURSOR;

c t_ref_cursor;

--获取分区列表

begin

v_cs := 'select PARTITION_NAME,HIGH_VALUE

from USER_TAB_PARTITIONS

where TABLE_NAME = upper(''us_internalinfo_back'')';

open c for v_cs;

fetch c

into names,dates;

while c% found loop

--分区时间

v_temp := 'select to_char('||dates||',''yyyy-MM-dd'') from dual';

execute immediate v_temp into temp ;

--时间比较

if (months_between(trunc(sysdate,'mm'),trunc(to_date(temp,'yyyy-mm-dd'),'mm'))>=3)

then

---删除分区

-- dbms_output。

put_line(temp);

v_sql := 'alter table us_internalinfo_back truncate partition ' ||names;

execute immediate v_sql;

end if;

--取下一条数据

fetch c

into names,dates;

end loop;

close c;

commit;

exception

when others then

v_error := sqlcode || ' - ' || sqlerrm;

dbms_output。

put_line(v_error);

rollback;

end PRO_MESSAGE_DELETE;。

全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值