博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何批量向表中插入数据?
阅读量:5805 次
发布时间:2019-06-18

本文共 1137 字,大约阅读时间需要 3 分钟。

我相信对于oracle初学者来说,当遇到领导说将成千上万条的数据插入到表中的时候会很抓狂。当时我是将几十条数据插入到表中,我是insert into一句句插入进去了,执行了几十遍我就已经疯了,后来发现可以批量插入,省去了好多时间和精力。

方法一:使用union all拼接(该方法和inser into一句句插入差不多,但是执行速度快了不少)

insert into tmp(id,name,salary,address)
select ('001','张三','100','上海') from dual
union all
select ('002','李四','200','重庆') from dual
union all
select ('003','王五','300','北京') from dual;
commit;

方法二:使用insert into...select...(可以理解为数据复制,将tmp2表中符合的数据插入到tmp1中,后可加where条件)

insert into tmp1(id,name,salary,address)
select id,name,salary,address from tmp2
(where ...);
commit;

方法三:使用insert all

insert all
into tmp(id,name,salary,address) values('001','张三','100','上海')
into tmp(id,name,salary,address) values('002','李四','200','重庆')
into tmp(id,name,salary,address) values('003','王五','300','北京')
select 1 from dual;
commit;
另外,该方法还支持多表插入数据:
insert all
into tmp1(id,name,salary,address) values('001','张三','100','上海')
into tmp2(id,name,salary,address) values('002','李四','200','重庆')
into tmp3(id,name,salary,address) values('003','王五','300','北京')
select 1 from dual;
commit;

大功告成,再也不用因为领导让批量插入数据浪费时间而加班了!

另外,大家有什么更好的方法欢迎留言,大家一起学习进步!不加班!

转载于:https://blog.51cto.com/12777507/2401375

你可能感兴趣的文章
Oracle命令导入dmp文件
查看>>
OCP读书笔记(24) - 题库(ExamD)
查看>>
Http、TCP/IP协议与Socket之间的区别(转载)
查看>>
解决Unable to load R3 module ...VBoxDD.dll (VBoxDD):GetLastError=1790
查看>>
.net excel利用NPOI导入oracle
查看>>
vrpie在Visio Studio 中无法调试的问题
查看>>
第六课:数据库的基本工具
查看>>
关于二叉树重构的思索
查看>>
$_SERVER['SCRIPT_FLENAME']与__FILE__
查看>>
skynet实践(8)-接入websocket
查看>>
系统版本判断
查看>>
关于Css选择器优先级
查看>>
My97DatePicker 日历插件
查看>>
0603 学术诚信与职业道德
查看>>
小点心家族第3位成员——楼层定位效果
查看>>
Knockout.Js官网学习(enable绑定、disable绑定)
查看>>
hive基本操作与应用
查看>>
excel快捷键设置
查看>>
poj3692
查看>>
python之信号量【Semaphore】
查看>>