oracle更新大量数据太慢,可以通过游标实现的例子
2016-06-05 16:26
666 查看
declare cursor city_cur is
select t.new_customer_id,t.old_customer_id from
citsonline.crm_customer_tmp6 t
where t.new_customer_id!=t.old_customer_id
order by new_customer_id;
begin
for my_cur in city_cur loop
update platform.crm_service_customer_bak s
set s.customer_id=my_cur.new_customer_id
where s.customer_id=my_cur.old_customer_id;
/** 此处也可以单条/分批次提交,避免锁表情况 **/
if mod(city_cur%rowcount,1000)=0 then
dbms_output.put_line('----');
commit;
end if;
end loop;
commit;
end;
select t.new_customer_id,t.old_customer_id from
citsonline.crm_customer_tmp6 t
where t.new_customer_id!=t.old_customer_id
order by new_customer_id;
begin
for my_cur in city_cur loop
update platform.crm_service_customer_bak s
set s.customer_id=my_cur.new_customer_id
where s.customer_id=my_cur.old_customer_id;
/** 此处也可以单条/分批次提交,避免锁表情况 **/
if mod(city_cur%rowcount,1000)=0 then
dbms_output.put_line('----');
commit;
end if;
end loop;
commit;
end;
相关文章推荐
- oracle spool
- Deep Dive1- Oracle DB
- centos安装instantclient(oracle精简客户端)步骤
- Oracle 用户概念与基本操作
- Oracle ADF 11g后台常用方法(2)
- oracle job 定时执行 存储过程
- oracle初始操作
- Oracle ADF 11g后台常用方法(1)
- oracle错误代码大全
- Oracle中union和union all的区别
- Oracle-trigger触发器解读
- Myeclipse+oracle分页查询
- Oracle体系结构(基于11g)
- ArcMap通过ArcSDE连接oracle
- Oracle SQL性能优化
- Ubuntu15.10 下安装Oracle 11g
- Oracle深入学习
- Oracle 修改了 listener.ora 文件 在windows中的服务中启动,但是 lsnrctl status没有监听到数据库 xe或者是 orcl
- 安装oracle数据库 第一次登录使用
- Oracle 随机抽取数据