時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
CREATE OR REPLACE PROCEDURE "PRO_MESSAGE_DELETE"
is
names???? varchar2(1024);??? --分區(qū)名稱
dates???? varchar2(1024);? --分區(qū)日期
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;
--獲取分區(qū)列表
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
--分區(qū)時間
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
---刪除分區(qū)
-- dbms_output.put_line(temp);
v_sql := 'alter table us_internalinfo_back truncate partition ' ||names;
execute immediate v_sql;
end if;
--取下一條數(shù)據(jù)
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;
關(guān)鍵詞標(biāo)簽:Oracle
相關(guān)閱讀
熱門文章
Oracle中使用alter table來增加,刪除,修改列的語法
oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例
誤刪Oracle數(shù)據(jù)庫實例的控制文件
為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法