DB2数据库导致表set integrity pending的原因

DB2数据库导致表为什么会出现set integrity pending,原因有哪些?显示全部

DB2数据库导致表为什么会出现set integrity pending,原因有哪些?

收起
参与5

查看其它 1 个回答x1yanGyanG的回答

x1yanGyanGx1yanGyanG数据库运维工程师移动

通过实验总结如下:

表完整性约束暂挂问题

报错代码:SQL0668N  reason code 1

表状态:Set Integrity Pending

触发原因:

存在主外键的两张表进行数据load时,如果对子表进行数据load,数据库将会暂时忽略表之间的外键关系,将子表置为 set integrity pending 状态(主表状态正常)

解决办法:

如果load的数据在父表中存在,需DBA用户执行:set integrity for tabname immediate checked

如果load的数据在父表中不存在,则需要先新建一张与子表表结构相同的表来存放异常数据:create table tabname_exp like tabname,然后再执行:set integrity for tabname immediate checked for exception in tabname use tabname_exp


新增疑问:

对子表load完成后都会出发set integrity pending,有什么办法既可以使数据load成功又能使表状态保持正常?

互联网服务 · 2017-04-24
浏览7974

回答者

x1yanGyanG
数据库运维工程师移动

x1yanGyanG 最近回答过的问题

回答状态

  • 发布时间:2017-04-24
  • 关注会员:2 人
  • 回答浏览:7974
  • X社区推广