pl/sql 复制多对多数据

pl/sql duplicating many to many data

我出于商业目的对我的数据库进行逆向工程,我将保持简短并且 simple.I 有两个 tables(a_visit,b_visit) 并使用来自两者的外键 ID 桥接 table(a_to_b_visit)。 我需要根据具有新预算 ID 的 budget_id 复制插入 A_visit、b_visit 并处理桥接 table relationships.How 我是否处理 ID 或insert records into bridging tables as well dynamically.For example 我将插入新记录到 using pl/sql into table A_visit,b_visit。

  insert into a_visit 
  select new_seq_id,<new budget_id>,<other columns>  from a_visit where budget_id=10
   insert into b_visit 
  select new_seq_id,<new budget_id>,<other columns>  from b_visit where budget_id=10
   insert into a_b_visit
    select new_seq_id,a_visit_id,b_visit_id from a_to_b_visit
     where a_visit_id=  old_a_id=<> and b_visit_id=old_b_id

(我将从其他程序动态获取 budget_id)。

TABLE A_VISIT
 id, budget_id
1, 10
2, 10

 TABLE B_VISIT
 id, budget_id
  4, 10
  5, 10

 A_TO_B_VISIT
  id,a_id,b_id(unq(a_id,b_id))
   1, 1,4
   2, 2,4

我试图通过 pl/sql 解决上述问题,我一直坚持将新生成的映射与桥接中现有的映射。 请多多指教!!希望我没搞混

能够通过在桥接临时 table 中记录 id 并稍后在循环中更新 id 来修复。