end if;
dbms_output.put_line('7'||vv_add_p_sql);
/** @description update process flag and deal date*/
update tb_sys_tab_partitions
set proc_flag_id = '2', partition_date = vd_deal_date
where upper(owner) = upper(l_table_list.owner)
and upper(table_name) = upper(l_table_list.table_name);
/** partition add and drop success log*/
dbms_output.put_line('8'||vv_add_p_sql);
/** @description error occurs during the creation or drop of partition on one table*/
exception
when exc_partition_type then
rollback;
vn_err_code := sqlcode;
vv_err_text := l_table_list.table_name||'partition_type error:'||substr(sqlerrm,1,120);
vi_log_status := -1;
select sysdate into vd_end_date from dual;
update tb_sys_tab_partitions
set proc_flag_id = 'e'
where upper(owner) = upper(l_table_list.owner)
and upper(table_name) = upper(l_table_list.table_name);
on_statuscode := -1;
when others then
rollback;
vn_err_code := sqlcode;
vv_err_text := l_table_list.table_name||':'||substr(sqlerrm,1,120);
vi_log_status := -1;
select sysdate into vd_end_date from dual;
update tb_sys_tab_partitions
set proc_flag_id = 'e'
where upper(owner) = upper(l_table_list.owner)
and upper(table_name) = upper(l_table_list.table_name);
on_statuscode := -1;
end;
end loop;
close c_table_list;
dbms_output.put_line('7'||vv_add_p_sql);
/** @description update process flag and deal date*/
update tb_sys_tab_partitions
set proc_flag_id = '2', partition_date = vd_deal_date
where upper(owner) = upper(l_table_list.owner)
and upper(table_name) = upper(l_table_list.table_name);
/** partition add and drop success log*/
dbms_output.put_line('8'||vv_add_p_sql);
/** @description error occurs during the creation or drop of partition on one table*/
exception
when exc_partition_type then
rollback;
vn_err_code := sqlcode;
vv_err_text := l_table_list.table_name||'partition_type error:'||substr(sqlerrm,1,120);
vi_log_status := -1;
select sysdate into vd_end_date from dual;
update tb_sys_tab_partitions
set proc_flag_id = 'e'
where upper(owner) = upper(l_table_list.owner)
and upper(table_name) = upper(l_table_list.table_name);
on_statuscode := -1;
when others then
rollback;
vn_err_code := sqlcode;
vv_err_text := l_table_list.table_name||':'||substr(sqlerrm,1,120);
vi_log_status := -1;
select sysdate into vd_end_date from dual;
update tb_sys_tab_partitions
set proc_flag_id = 'e'
where upper(owner) = upper(l_table_list.owner)
and upper(table_name) = upper(l_table_list.table_name);
on_statuscode := -1;
end;
end loop;
close c_table_list;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12961536/viewspace-1061434/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12961536/viewspace-1061434/