1。insert 两次 2。select t1.a,t1.b,t1.c,t2.d,t2.f from table1 t1,table2 t2 where t1.a=t2.a
oracle在LOAD DATA的时候可以同时插入到两张表,但是INSERT不行
如果是9i下,就可以一次插入多个表 INSERT [ALL] [conditional_insert_clause] [insert_into_clause values_clause] (subquery)其中conditional_insert_clause如下: [ALL] [FIRST] [WHEN condition THEN] [insert_into_clause values_clause] [ELSE] [insert_into_clause values_clause]SQL> delete from a;8 rows deletedSQL> delete from b;11 rows deletedSQL> commit;Commit completeSQL> insert all 2 into a(id,rq) values(id1,date1) 3 into b(id,rq) values(id2,date2) 4 select id id1,id id2,sysdate date1,sysdate date2 from test1 5 /16 rows inserted这里用是没有条件的插入,还可以有条件插入: INSERT ALL WHEN condition1 THEN INTO a values() WHEN condition2 THEN INTO b values() select ...还有insert first 的 用法,具体可以看帮助文档
你的表的描述很模糊
2。select t1.a,t1.b,t1.c,t2.d,t2.f
from table1 t1,table2 t2 where t1.a=t2.a
INSERT [ALL] [conditional_insert_clause]
[insert_into_clause values_clause] (subquery)其中conditional_insert_clause如下:
[ALL] [FIRST]
[WHEN condition THEN] [insert_into_clause values_clause]
[ELSE] [insert_into_clause values_clause]SQL> delete from a;8 rows deletedSQL> delete from b;11 rows deletedSQL> commit;Commit completeSQL> insert all
2 into a(id,rq) values(id1,date1)
3 into b(id,rq) values(id2,date2)
4 select id id1,id id2,sysdate date1,sysdate date2 from test1
5 /16 rows inserted这里用是没有条件的插入,还可以有条件插入:
INSERT ALL
WHEN condition1 THEN
INTO a values()
WHEN condition2 THEN
INTO b values()
select ...还有insert first 的 用法,具体可以看帮助文档