如何批量向表中插入数据?

我相信对于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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值