我有一些代表父子关系的Oracle表.他们看起来像这样:
create table Parent (
parent_id varchar2(20) not null primary key
);
create table Child (
child_id number not null primary key,
parent_id varchar2(20) not null,
constraint fk_parent_id
foreign key (parent_id)
references Parent (parent_id)
);
Run Code Online (Sandbox Code Playgroud)
这是一个实时数据库,其架构很久以前就是在假设该parent_id字段对于给定记录是静态且不变的情况下设计的.现在规则已经改变,我们真的想改变parent_id一些记录的价值.
例如,我有这些记录:
Parent:
parent_id
---------
ABC123
Child:
child_id parent_id
-------- ---------
1 ABC123
2 ABC123
Run Code Online (Sandbox Code Playgroud)
我想ABC123在两个表中的这些记录中修改其他内容.
我的理解是,无法编写将同时更新父表和子表的Oracle更新语句,并且在给定FK约束的情况下,我不确定如何最好地更新我的数据库.我目前正在禁用fk_parent_id约束,独立更新每个表,然后启用约束.
是否有更好的单步方式来更新此内容?
| 归档时间: |
|
| 查看次数: |
4033 次 |
| 最近记录: |