oracle的数据库中怎么将一张表中数据插入另一张表,两张表都存在

如题所述

1.二张表的话 如果将一张表插入另一张表 需要插入字段还是数据,如果是数据的话,那直接insert into table1(字段1,字段2,字段3.。。。) as select (字段1,字段2,字段3.。。。)from table2 ,
2.如果是二张表的字段不同 ,那要先建好字段,再用上面的方法插入,但是二张表要有相同的唯一 的字段来判断!例如二张表的同一行的数据KEY是想同的:insert into table1(字段1,字段2,字段3.。。。) as select (字段1,字段2,字段3.。。。)from table2 where table1.key = table2.key
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-28
假如 源表有数据, 目标表无数据。
INSERT INTO 目标表 SELECT * FROM 源表。

假如 源表 目标表都有数据, 要求 目标表 如果有数据则更新,没有则插入。
MERGE INTO 目标表
USING 源表
ON ( 关联条件 )
WHEN MATCHED THEN UPDATE SET 目标表.字段 = 源表.字段 -- 匹配的时候,更新
WHEN NOT MATCHED THEN INSERT VALUES(源表.字段列表) -- 源表有,目标表没有,插入

参考资料:http://hi.baidu.com/wangzhiqing999/blog/item/2879207af3e388370cd7da86.html

本回答被网友采纳
第2个回答  推荐于2018-03-23
insert into 表1
select * from 表2本回答被网友采纳
第3个回答  2011-06-28
insert into table_a (column_name) select column_name from table_b
相似回答