CONSTRAINT_COLUMN_USAGE ビュー
CONSTRAINT_COLUMN_USAGE
ビューには、制約で使用されるすべての列が含まれます。PRIMARY KEY
の制約の場合、これらは KEY_COLUMN_USAGE
ビューの列です。FOREIGN KEY
の制約の場合、これらは参照されるテーブルの列です。
スキーマ
INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
ビューのスキーマは次のとおりです。
列名 | データ型 | 値 |
---|---|---|
|
|
データセットを含むプロジェクトの名前。 |
|
|
datasetId とも呼ばれる、テーブルを含むデータセットの名前。 |
|
|
tableId とも呼ばれる、テーブルの名前。 |
|
|
列の名前。 |
|
|
制約プロジェクト名。 |
|
|
制約データセット名。 |
|
|
制約名。列が主キーで使用されている場合は主キーの名前に、列が外部キーで使用されている場合は外部キーの名前になります。 |
スコープと構文
このビューに対するクエリでは、データセット修飾子を指定する必要があります。データセット修飾子が指定されたクエリの場合は、データセットに対する権限が必要です。詳細については、構文をご覧ください。次の表に、このビューのリージョン スコープとリソース スコープを示します。
ビュー名 | リソース スコープ | リージョン スコープ |
---|---|---|
[PROJECT_ID.]DATASET.INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE; |
データセット レベル | データセットのロケーション |
- 省略可:
PROJECT_ID
: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。
例
次のクエリは、データセット内の単一テーブルの制約を示します。
SELECT * FROM PROJECT_ID.DATASET.INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE WHERE table_name = TABLE;
次のように置き換えます。
PROJECT_ID
: 省略可。クラウド プロジェクトの名前。指定しない場合、このコマンドではデフォルトのプロジェクトが使用されます。DATASET
: データセット名。TABLE
: テーブルの名前。
次のクエリは逆に、単一データセット内のすべてのテーブルの制約を示します。
SELECT * FROM PROJECT_ID.DATASET.INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE;
既存の制約を使用すると、クエリ結果は次のようになります。
+-----+---------------------+--------------+------------+-------------+---------------------+-------------------+-------------------------+ | row | table_catalog | table_schema | table_name | column_name | constraint_catalog | constraint_schema | constraint_name | +-----+---------------------+--------------+------------+-------------+---------------------+-------------------+-------------------------+ | 1 | myConstraintCatalog | myDataset | orders | o_okey | myConstraintCatalog | myDataset | orders.pk$ | | 2 | myConstraintCatalog | myDataset | orders | o_okey | myConstraintCatalog | myDataset | lineitem.lineitem_order | +-----+---------------------+--------------+------------+-------------+---------------------+-------------------+-------------------------+
テーブルまたはデータセットに制約がない場合、クエリ結果は次のようになります。
+-----------------------------+ | There is no data to display | +-----------------------------+