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

2025-03-26 06:35:32
推荐回答(4个)
回答1:

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

回答2:

假如 源表有数据, 目标表无数据。
INSERT INTO 目标表 SELECT * FROM 源表。

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

回答3:

insert into 表1
select * from 表2

回答4:

insert into table_a (column_name) select column_name from table_b