GBase8s数据库merge约束检查

在 MERGE 操作中,强制对目标对象启用数据完整性约束。

如果检查模式设置为 DEFERRED,则直到提交该事务之后,才检查这些约束。

如果目标表的约束检查模式设置为 IMMEDIATE,则在所有 UPDATE(或 DELETE)和

INSERT 操作完成之后,检查唯一约束和引用约束。在 UPDATE、DELETE 和 INSERT

操作期间,检查 NOT NULL 和检查约束。

要获取关于设置约束检查模式的信息,请参阅主题 SET Transaction Mode 语句。

如果以 ON DELETE CASCADE 关键字定义了目标表上的引用约束,则 MERGE 语句的 DELETE

子句还对目标表的孩子表的行执行级联删除。

然而,如果启用了的引用约束已在目标和源表之间建立了父子关系,则 Delete 合并失败。MERGE

语句不可在其源表上执行级联删除。要获取更多信息,请参阅主题 表有级联删除时对 DELETE 的

限制。

如果 START VIOLATIONS 语句已在目标表上定义了活动的违反表,则 MERGE 可对目标、违反

和诊断表有下列影响:

或删除或更新与结合条件相匹配的目标表中的符合的行。

目标表还收到 MERGE 成功地插入的符合的不相匹配的行。

违反表收到不符合的行。

诊断表收到关于不符合的行不能满足约束的原因的信息,以及对目标表的 MERGE 操作期

间的唯一索引的信息。

要在目标表上启用违反表和诊断表,SET Database Object Mode 语句必须设置约束或目

标表的唯一索引为 ENABLED 或 FILTERING 模式。要了解更多信息,请参阅主题

与 SET Database Object Mode 语句的关系 和 SET Database Object Mode 语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值