データベース内のすべてのテーブルの整合性を設定するスクリプト (シェル + 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 を変更する方法やシェル スクリプト / ストアド プロシージャを作成する方法を教えてください。私の最終的な目標は、チェック保留/整合性保留状態のテーブルをゼロにすることです。
助けてください。ありがとう!!