使用for循环,批量删除历史数据
2019-11-27 13:49
405 查看
declare maxrows number default 500000; begin for i in 1 .. 100 loop delete from TB_OPT_LOG where op_time < to_date('20181001', 'yyyy-mm-dd') and rownum <= maxrows; commit; end loop; end;
create or replace procedure test as cursor delete_cursor is select table_name from dba_tables where owner='SCOTT' and table_name in('OBJ1','OBJ2'); V_TABLE_NAME dba_tables.table_name%type; BEGIN open delete_cursor; fetch delete_cursor into v_table_name; IF v_table_name= 'OBJ1' THEN for i in 1 .. 100 loop delete from scott.OBJ1 where CREATED < to_date('20181001', 'yyyy-mm-dd') and rownum <= 500000; commit; end loop; elsif v_table_name = 'OBJ2' then for i in 1 .. 100 loop delete from scott.OBJ2 where CREATED < to_date('20191001', 'yyyy-mm-dd') and rownum <= 500000; commit; end loop; close delete_cursor; end if; end;
declare job number; BEGIN DBMS_JOB.SUBMIT( JOB => job, /*自动生成JOB_ID*/ WHAT => 'delete_log;', /*需要执行的存储过程名称或SQL语句*/ NEXT_DATE => sysdate, /*初次执行时间-立即执行*/ INTERVAL => 'TRUNC(sysdate+1)+1/24' /*每天凌晨一点执行一次*/ ); --commit; end; /
相关文章推荐
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)
- 使用js实现动态新增,删除表格,并将表格数据批量插入数据库。
- 使用 SQL Server 2008 数据类型-xml 字段类型参数进行数据的批量选取或删除数据
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)
- 使用shell巧妙高效的批量删除历史文件或目录
- yii2使用GridView实现数据全选及批量删除按钮示例
- 使用 SQL Server 2008 数据类型-xml 字段类型参数进行数据的批量选取或删除数据
- 使用 SQL Server 2008 数据类型-xml 字段类型参数进行数据的批量选取或删除数据
- 如何解决使用addBatch()和executeBatch()无法批量增加删除修改数据库数据等问题
- 使用简单的方法进行批量删除数据
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)
- 数据增强库Augmentor使用,以及批量复制到指定文件,删除原文件
- python使用正则批量删除redis中的数据
- MongoDB经验教训:一次批量删除历史数据引发的悲剧
- Django之使用Q对象批量删除数据
- 如何在Oracle中批量删除数据
- 使用重复数据删除进行灾难恢复和达到RTO
- GridView使用技巧之:新增记录、GridView内数据验证、删除信息提示等
- php批量删除数据,php删除多项数据
- rownum 的使用,不能对rownum用">",删除查询特定条数据