2016-02-27 75 views
0

我很反向工程我的數據庫用於商業目的,我會保持這個簡短。我有兩個表(a_visit,b_visit)和橋接表(a_to_b_visit)與來自兩者的外鍵ID。 我需要重新插入到A_visit,b_visit基於budget_id與新的預算ID,並處理橋接表的關係。我應該如何處理ID或將記錄動態插入橋接表。例如,我將插入新的使用pl/sql記錄到表A_visit,b_visit中。pl/sql複製多對多的數據

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上面解決,我卡在新生成的,但在彌合現有的映射。 請指教!! HopeI沒有太多混淆

+0

能夠通過在橋接臨時表中記錄id'd並在循環的稍後更新id來修復 – user501307

回答

0

能夠通過在橋接臨時表中記錄id'd並在循環的稍後更新id來修復。