提问者自己觉见着写15条insert太没技术含量(呵呵,怎么叫有技术含量呢),希望看到其它的不同写法。就其需求而言我觉着insert语句应该是最简单最高效的写法,不过发贴者提出的问题倒是让我想起了oracle自9i开始提供了insert
all语法,借助该语法实现如下: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