oracle中,如何在一张表插入数据,使得插入数据的某些字段为其他表中的数据

2024-12-16 18:08:21
推荐回答(1个)
回答1:

最直接的:
insert into tableA (col_1,col_2,.....)
select col3,col4....
from tableB
where ......;

如果是插入一行记录,在values里面使用单行子查询
insert into tableA (col_1,col_2,.....)
values (v1,(select col1 from tableB where .....),.....);

如果tableA里面已经有一些数据,希望可以根据tableA中的现有数据从tableB中将相关数据更新进来。
可以与tableB进行关联,使用关联子查询,可以一次更新多行
update tableA set (col_1,col_2......)=(select col_3,col_4...... from tableB where tableB.col_b=tableA.col_a)