有三个表,表A , 表B, 表C。这3个表,都有4个字段,并且这4个字段名称都一样,
分别是:ID NAME CODE MESSAGE。
我现在要做以下操作:
每一个表都同时插入5条数据。其中这5条数据当中,前两列是一样的,第三列的数据是1--5,而最后一列的值是固定的。
例如:
表A: ID NAME CODE MESSAGE
0001 xiaoming 1 140
0001 xiaoming 2 112
0001 xiaoming 3 84
0001 xiaoming 4 56
0001 xiaoming 5 28
、
表B: ID NAME CODE MESSAGE
0001 xiaoming 1 55
0001 xiaoming 2 33
0001 xiaoming 3 57
0001 xiaoming 4 67
0001 xiaoming 5 45
表C: ID NAME CODE MESSAGE
0001 xiaoming 1 1000
0001 xiaoming 2 897
0001 xiaoming 3 233
0001 xiaoming 4 777
0001 xiaoming 5 1278[@more@]SQL> create table tba (id varchar2(10),name varchar2(10),code number,message number);
Table created
SQL> create table tbb (id varchar2(10),name varchar2(10),code number,message number);
Table created
SQL> create table tbc (id varchar2(10),name varchar2(10),code number,message number);
Table created
SQL>
SQL> insert all
2 into tba values (id,name,code,messagea)
3 into tbb values (id,name,code,messageb)
4 into tbc values (id,name,code,messagec)
5 select '0001' id,'xiaoming' name,1 code,140 messagea, 55 messageb,1000 messagec from dual
6 union all
7 select '0001' ,'xiaoming' ,2 ,112 , 33 ,897 from dual
8 union all
9 select '0001' ,'xiaoming' ,3 ,84 , 57 ,233 from dual
10 union all
11 select '0001' ,'xiaoming' ,4 ,56 , 67 ,777 from dual
12 union all
13 select '0001' ,'xiaoming' ,5 ,28 , 45 ,1278 from dual
14 /
15 rows inserted
SQL> select * from tba;
ID NAME CODE MESSAGE
---------- ---------- ---------- ----------
0001 xiaoming 1 140
0001 xiaoming 2 112
0001 xiaoming 3 84
0001 xiaoming 4 56
0001 xiaoming 5 28
SQL> select * from tbb;
ID NAME CODE MESSAGE
---------- ---------- ---------- ----------
0001 xiaoming 1 55
0001 xiaoming 2 33
0001 xiaoming 3 57
0001 xiaoming 4 67
0001 xiaoming 5 45
SQL> select * from tbc;
ID NAME CODE MESSAGE
---------- ---------- ---------- ----------
0001 xiaoming 1 1000
0001 xiaoming 2 897
0001 xiaoming 3 233
0001 xiaoming 4 777
0001 xiaoming 5 1278
分别是:ID NAME CODE MESSAGE。
我现在要做以下操作:
每一个表都同时插入5条数据。其中这5条数据当中,前两列是一样的,第三列的数据是1--5,而最后一列的值是固定的。
例如:
表A: ID NAME CODE MESSAGE
0001 xiaoming 1 140
0001 xiaoming 2 112
0001 xiaoming 3 84
0001 xiaoming 4 56
0001 xiaoming 5 28
、
表B: ID NAME CODE MESSAGE
0001 xiaoming 1 55
0001 xiaoming 2 33
0001 xiaoming 3 57
0001 xiaoming 4 67
0001 xiaoming 5 45
表C: ID NAME CODE MESSAGE
0001 xiaoming 1 1000
0001 xiaoming 2 897
0001 xiaoming 3 233
0001 xiaoming 4 777
0001 xiaoming 5 1278[@more@]SQL> create table tba (id varchar2(10),name varchar2(10),code number,message number);
Table created
SQL> create table tbb (id varchar2(10),name varchar2(10),code number,message number);
Table created
SQL> create table tbc (id varchar2(10),name varchar2(10),code number,message number);
Table created
SQL>
SQL> insert all
2 into tba values (id,name,code,messagea)
3 into tbb values (id,name,code,messageb)
4 into tbc values (id,name,code,messagec)
5 select '0001' id,'xiaoming' name,1 code,140 messagea, 55 messageb,1000 messagec from dual
6 union all
7 select '0001' ,'xiaoming' ,2 ,112 , 33 ,897 from dual
8 union all
9 select '0001' ,'xiaoming' ,3 ,84 , 57 ,233 from dual
10 union all
11 select '0001' ,'xiaoming' ,4 ,56 , 67 ,777 from dual
12 union all
13 select '0001' ,'xiaoming' ,5 ,28 , 45 ,1278 from dual
14 /
15 rows inserted
SQL> select * from tba;
ID NAME CODE MESSAGE
---------- ---------- ---------- ----------
0001 xiaoming 1 140
0001 xiaoming 2 112
0001 xiaoming 3 84
0001 xiaoming 4 56
0001 xiaoming 5 28
SQL> select * from tbb;
ID NAME CODE MESSAGE
---------- ---------- ---------- ----------
0001 xiaoming 1 55
0001 xiaoming 2 33
0001 xiaoming 3 57
0001 xiaoming 4 67
0001 xiaoming 5 45
SQL> select * from tbc;
ID NAME CODE MESSAGE
---------- ---------- ---------- ----------
0001 xiaoming 1 1000
0001 xiaoming 2 897
0001 xiaoming 3 233
0001 xiaoming 4 777
0001 xiaoming 5 1278
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/82387/viewspace-1016594/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/82387/viewspace-1016594/
本文介绍了一种在Oracle数据库中向多个具有相同字段结构的表批量插入数据的方法。通过使用INSERT ALL语句结合UNION ALL,可以高效地完成数据填充任务。
50

被折叠的 条评论
为什么被折叠?



