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 | +-----------------------------+