我有两张表主/详细的DDL是:
表1:
表2:
table2.tbl1_id是两个表之间的外键,tbl1_id和tbl2_id是从触发器自动生成的。
我需要将tbl1_sm_id = 2这两个表中的所有记录复制到tbl1_sm_id = 3的新值中。
我在存储过程中尝试了这个SQL:
For
select tbl1_id from table1
where tbl1_sm_id = 2
into :v_tbl1_id
do begin
insert into table1 (tbl1_sm_id, tbl1_name)
select 3, tbl1_name returning tbl1_id into :v_tbl1_id;
insert into table2 (tbl1_id, tbl2_name)
select :v_tbl1_id, tbl2_name
from table2 where tbl1_id = :v_tbl1_id;
end
这是对的吗?还有另一种方法来复制这两个表吗?