让我试着解释我的情况,我有两个表,每个表包含两个感兴趣的字段,即act_num和identity。第一个表包含两个字段的数据,但第二个表包含act_num的数据,没有用于标识的数据。我正在尝试编写一个查询,以便如果第二个表中的act_num等于第二个表中的act_num,那么第一个表的标识是否会导入第二个表中的相应行?做这个的最好方式是什么?我必须使用光标吗?
这些表是Oracle表10g,我使用toad for oracle作为sql。请帮忙。类似的东西:
insert into table2 (identity) select identity from table1
where act_num = select act_num from table2;
我不需要table1中的所有身份数据。我只需要table1和table2中的act_num的身份数据。请帮忙。
答案 0 :(得分:1)
您可以根据第一个表更新它,也许解决方案是:
update table2 set identity = (select
identity from table1 where act_num = table2.act_num);
这应该足以更新来自table2
的所有行,table1
的身份act_num
与table1
中的{{1}}相同。
答案 1 :(得分:0)
insert into table2 (identity)
select identity from table1
where act_num in(select act_num from table2);