次の手順とツールを使用して、パーティショニングと参照を使用するテーブルのエラーを検出して修正します(詳細については、<Teradata Vantage™ - データベースの設計、B035-1094>を参照してください)。
目的 | 結果 |
---|---|
計算エラー(ゼロによる除算など)のためにトランザクション ロールバックを引き起こしているパーティション式を訂正する | 以下のうちの1つを行なう。
|
無効なテーブルのステータスまたは内部構造を検出する | CheckTable utility LEVEL 3コマンドを実行する。 |
パーティション化のあるテーブルの中のヘッダーのみを再生成する | ALTER TABLE ... REVALIDATE文を使用する。 |
列パーティション テーブルまたは結合インデックスを検証する。 | ALTER TABLEリクエストのREVALIDATEオプションを使用する。 |
パーティション化のあるテーブルの場合:
|
ALTER TABLE ... REVALIDATE WITH DELETE/INSERT [INTO]文を使用する。
REVALIDATEは、テーブルのバージョンを変更します。
|
RI制約のあるテーブルでのWITH NO CHECK OPTIONを使用した更新操作や削除操作の実行後に、破壊された行を検出する | 次のような構造のRI検証問合わせを実行依頼する。SELECT DISTINCTchildtablename .* FROM childtablename,parenttablename WHERE childtablename .fkcol NOT IN (SELECT pkcol FROM parenttablename ) AND childtablename .fkcol IS NOT NULL; この問合わせは、対応するPK値がないFK値を持つ子テーブルの中のすべての行を報告します (FK nullの表わす値は判別できないので、FK nullは除外されます)。 |
RI検証問合わせで破壊行が報告された子テーブルを純化する | データベースの整合性を維持するため、報告された行をできるだけ速やかに子テーブルから消去します。 |