参照整合性制約を設定したテーブルを作成することがきます。
しかし、データロードや更新時には参照整合性のチェックは行われません。
そのため、データロード後に関数を使用して参照整合性違反のデータがないかチェックをする必要があります。

以下にINSERT後に参照整合性違反を確認する方法をご紹介します。

実行例

参照整合性に違反したデータがないか確認する実行例を以下に示します。


関数の構文

ANALYZE_CONSTRAINTS関数を使用し参照整合性をチェックします。

※列名は省略可能です。

テーブル構成

LINEORDERテーブルのLO_CUSTKEY列に参照整合性制約を定義しています。
pk_fk

データ内容

CUSTOMERテーブルとLINEORDERテーブルは参照整合性に違反していないデータ内容となっています。
pk_fk2

INSERTしたデータが参照整合性の違反をしていない場合


INSERTしたデータが参照整合性の違反をしている場合


検証バージョンについて

この記事の内容はVertica 8.0で確認しています。