update t_user_identification u
set u.customer_id = (select c.customer_id
from t_customer c
where exists (select 1
from t_user us
where us.customer_id = c.customer_id
and exists
(select 1
from t_user_login_way y
where y.user_id = us.user_id
and y.user_name = u.open_id
and y.user_type = ''))
and rownum <= 1)
where u.identify_status in ('');

上面的方法有个缺陷,当数据过多时,数据库会因为执行时间太长而报错ORA-01555,导致全盘扫描中断,

改成下面这样问题就都解决啦

declare
v_num number;
begin
v_num := 0;
for f in (select id,open_id from t_user_identification where identify_status = '') loop
update t_user_identification u
set u.customer_id = (select c.customer_id
from t_customer c
where exists (select 1
from t_user us
where us.customer_id = c.customer_id
and exists
(select 1
from t_user_login_way y
where y.user_id = us.user_id
and y.user_name = f.open_id
and y.user_type = ''))
and rownum <= 1)
where u.identify_status in ('') and u.id = f.id;
v_num := v_num + 1;
if v_num > 50 then
begin
commit;
v_num := 0;
end;
end if;
end loop;
commit;
end;

最新文章

  1. Java进击C#——应用开发之Asp.net
  2. Python爬虫进阶二之PySpider框架安装配置
  3. .net core中使用openssl的公钥私钥进行加解密
  4. 德国GFZ
  5. WCF分分钟入门
  6. Java中的四套读写方案
  7. CSS3实现背景颜色渐变
  8. shell 和awk性能对比
  9. iOS 获取UUID
  10. 0910 noip模拟
  11. 2016年11月ACM/ICPC亚洲区北京赛赛后总结
  12. android学习——项目的目录结构
  13. DataGrid( 数据表格) 组件[3]
  14. Yii的场景
  15. poj 2480 (欧拉函数应用)
  16. java基于注解的redis自动缓存实现
  17. scrapy爬虫学习系列二:scrapy简单爬虫样例学习
  18. web渗透 学习计划(转载)
  19. Jenkins插件之显示构建时间
  20. python+selenium页面自动化 元素定位实际遇到的各种问题(持续更新)

热门文章

  1. 进程 day36
  2. python 数据类型 总结
  3. 9.11 h5日记
  4. 点评10款Github上最火爆的国产开源项目
  5. Oracle_高级功能(8) 事务和锁
  6. python添加fluent日志记录-aop
  7. PAT 1028 人口普查(20)(STL-set+思路+测试点分析)
  8. hdu 1072(BFS) 有炸弹
  9. Python generator 的yield (enumerate)
  10. 看起来像是PS的照片,实际上却令人难以置信!