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

标签:
oracleinsert插入 |
分类: 数据库 |
假设现在需要将如下数据插入数据库:
字段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中dual表的用途介绍》: http://www.cnblogs.com/qiangqiang/archive/2010/10/15/1852229.html
《Oracle 中 union与union
all》: