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 来修复。
我出于商业目的对我的数据库进行逆向工程,我将保持简短并且 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 来修复。