我们如何在 DB2 中更新具有外键约束的列?

1 database db2 db2-400

我有 2 张桌子,请检查所附图片

PK:PK

前K:前K

Pk表中的P_Id为主键,FK表中的P_Id为外键。

我需要将 10 添加到 PK 和 FK 表的 P_Id 列中的所有记录(意味着它们需要始终匹配)

我知道在 MS SQL 中我们可以轻松更新级联,如下所示:

ALTER TABLE FK
ADD CONSTRAINT FK_P_Id
FOREIGN KEY (P_Id)
REFERENCES PK (P_Id) ON UPDATE CASCADE
Run Code Online (Sandbox Code Playgroud)

然后更新 PK 的行,这也会自动更新 FK 。

update A
set A.P_Id= A.P_Id + 10
from PK A inner join FK B
on A.P_Id = B.P_Id
Run Code Online (Sandbox Code Playgroud)

但是,我不确定这在 DB2 中是如何工作的..有人可以帮忙吗?

我怎样才能让它发挥作用?

预先感谢斯瓦特

小智 5

使用

SET FOREIGN_KEY_CHECKS = 0;
Run Code Online (Sandbox Code Playgroud)

更新两个表;

进而

SET FOREIGN_KEY_CHECKS = 1;
Run Code Online (Sandbox Code Playgroud)