我正在尝试编写一个脚本(shell + DB2)来设置数据库中所有表的完整性。我使用下面的动态 SQL 生成脚本并执行它:
db2 -x "select 'SET INTEGRITY FOR '|| TABSCHEMA ||'.'||TABNAME || ' IMMEDIATE CHECKED;' from SYSCAT.TABLES where STATUS='C' and type='T'" > set_integrity.sql
它工作正常,但问题是表有关系(父子表)。它给出错误 SQL3608N“当父级处于设置完整性待定状态时无法检查子表的完整性”
请让我知道如何修改我的 SQL 或编写一个 shell 脚本/存储过程,以便它以父子顺序设置完整性。我的最终目标是使零表处于检查待处理/设置完整性待处理状态。
请帮忙。谢谢!!