Oacle匿名块

因系统历史遗留故障,导致有一张千万级别的表需要删除大概60w的错误数据,计划用批处理语句来循环删除,最近越发感到越来越菜,因此将这个批处理语句记录下来,以供日后温习。只作为处理,没有声明部分。

declare--声明
i int:=0;--定义变量并赋值
v_count int;--定义变量
v_loop int;--定义变量
begin--执行
 select count(*) into v_count from t_181009;--删除数据总数
 select ceil(v_count/1000) into v_loop from dual;--计算需要循环次数
 while i<=v_loop loop--循环开始,循环条件
   delete from t sb where exists ( select 1 from t_181009  bi where bi.imei = sb.imei) and rownum<=1000;--执行删除
   commit;--提交
   i:=i+1;--i依次加1
 end loop;--结束循环
end;--结束
/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值