批量插入,update
#####setting 1
create table t as select * from all_objects where 1 =2;
###.模拟逐行提交的情况,注意观察执行时间
DECLARE
BEGIN
FOR cur IN (SELECT * FROM t_ref) LOOP
INSERT INTO t VALUES cur;
COMMIT;
END LOOP;
END;
/
###模拟批量提交
DECLARE
v_count NUMBER;
BEGIN
FOR cur IN (SELECT * FROM t_ref) LOOP
INSERT INTO t VALUES cur;
v_count := v_count + 1;
IF v_count >= 100 THEN
COMMIT;
v_count :=0;
END IF;
END LOOP;
COMMIT;
END;
/
更高级的方法,体验一下极限速度。
DECLARE
CURSOR cur IS
SELECT * FROM t_ref where column=<value>; <-就按照条件筛选数据,
TYPE rec IS TABLE OF t_ref%ROWTYPE;
recs rec;
BEGIN
OPEN cur;
WHILE (TRUE) LOOP
FETCH cur BULK COLLECT
INTO recs LIMIT 100;
FORALL i IN 1 .. recs.COUNT
INSERT INTO t VALUES recs (i);
COMMIT;
EXIT WHEN cur%NOTFOUND;
END LOOP;
CLOSE cur;
END;
/
#####setting 2:
--用 rownum 来限定取出的记录数来测试
cursor all_contacts_cur is
selectsr_contact_id,contact_phone,remark from sr_contacts where rownum <= 100000;
###seting 3:
要么就按照条件筛选数据,分别提交
如:
insert into table_a select * from table_b where type=1;
commit;
insert into table_a select * from table_b where type=2;
commit;
就是举个例子,最后的type要是个全集
#####setting 3:
http://m.blog.itpub.net/30345407/viewspace-2126548/
http://blog.csdn.net/benwang_/article/details/6830383
http://www.oracle.com/technetwork/issue-archive/2008/08-mar/o28plsql-095155.html
http://blog.csdn.net/u011098327/article/details/53941046
######update
declare
i int;--定义变量
v_count int;--定义变量
v_loop int;--定义变量
begin
select count(*) into v_count from test;--计算表内数据总数
select ceil(v_count/10) into v_loop from dual;--计算需要循环次数
i:=1;--为i赋值
while i<=v_loop loop--循环退出条件
update test set begintime=sysdate where begintime is null and rownum<=10;--执行更新
commit;--提交
i:=i+1;--i依次加1
end loop;--结束循环
end;
最新文章
- 使用poco 的NetSSL_OpenSSL 搭建https 服务端,使用C++客户端,java 客户端访问,python访问(python还没找到带证书访问的代码.)
- [转]Mac OS X El Capitan(10.11)显示隐藏文件命令失效解决方法
- 软件工程(C编码实践篇)总结
- javascript:正则大全
- 在浏览器中将表格导入到本地的EXCEL文件,注意控制内存
- Blog CSS
- Android 监听EditView中的文本改变事件
- Delphi 生成excel中的饼图
- linux —— 学习笔记(环境变量的设置)
- C#中yield用法
- Google 以图搜图 - 相似图片搜索原理 - Java实现 (转)
- Java读书推荐
- [SF] Symfony 组件 BrowserKit 原理
- Django学习笔记(1)--第一个项目
- 打印文章 FZOJ 5190
- gcc生成含有C信息的汇编
- word-break和word-wrap的使用和区别
- CIF 搜索逻辑
- 018 spark on yarn (Job history)的配置,主要是yarn处跳转到历史聚合页面
- 016-插件使用-head
热门文章
- densenet tensorflow 中文汉字手写识别
- hdu-5784 How Many Triangles(计算几何+极角排序)
- poj-1986 Distance Queries(lca+ST+dfs)
- OpenCV——PS 滤镜算法之极坐标变换到平面坐标
- bjwc Day1 暴力大战
- 【Python】numpy 数组拼接、分割
- 【LeetCode】011 Container With Most Water
- c# namespace不能和class的name 相同
- ZigBee自组网地址分配与路由协议概述
- bzoj4453