加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

oracle数据库怎样一次insert多条数据

(2015-08-07 10:40:19)
标签:

oracle

insert

插入

分类: 数据库
假设现在需要将如下数据插入数据库:

字段1 字段2
195 203
220 005
166 102
170 106
179 117

我们都知道,在数据库中插入一条数据的方法:

insert into 表名(字段1,字段2) values ( '195','203')

那么,在oracle中怎么样一次插入多条数据呢?方法如下:

insert into 表名(字段1,字段2) 
select '195','203' from dual         
union all                                 
select '220','005' from dual         
union all                                 
select '166','102' from dual         
union all                                 
select'170','106' from dual         
union all                                 
select '179','117' from dual  

方法解释:
1、第一行 ”insert into 表名(字段1,字段2) “ 

这部分比较好理解,和插入一条的数据的语法一样

2、第二行”select '195','203' from dual"

比较有疑问的是dual这个表。dual是oracle中一个“神秘”的表,永远只有一条记录。

在oralce中执行select '195','203' from dual,结果为

这样就能理解

insert into 表名(字段1,字段2) 
select '195','203' from dual   

3、第三行“union all ”

union all就是将多个查询结果合并在一起显示出来。

因此,执行
select '195','203' from dual         
union all                                 
select '220','005' from dual  
结果如下:


那么,也就可以理解
insert into 表名(字段1,字段2) 
select '195','203' from dual         
union all                                 
select '220','005' from dual         


参考博文:
《oracle一次插入多条数据》:
http://www.cnblogs.com/xieon1986/archive/2012/11/26/2789226.html  
《Oracle 中 union与union all》:
http://www.cnblogs.com/macavalier/p/3154269.html

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有