KEY_COLUMN_USAGE 檢視畫面
KEY_COLUMN_USAGE
檢視畫面包含資料表中的資料欄,這些資料欄受到主鍵和外鍵限制,做為鍵。TABLE_CONSTRAINTS
結構定義
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
檢視表具有下列結構定義:
資料欄名稱 | 資料類型 | 值 |
---|---|---|
|
|
限制專案名稱。 |
|
|
限制資料集名稱。 |
|
|
限制名稱。 |
|
|
受限資料表的專案名稱。 |
|
|
受限資料表資料集的名稱。 |
|
|
受限資料表的名稱。 |
|
|
受限資料欄的名稱。 |
|
|
資料欄在限制鍵中的序數位置 (從 1 開始)。 |
|
|
如果是外鍵,則為資料欄在主鍵限制中的序數位置 (從 1 開始)。主鍵限制的值為 NULL 。 |
範圍和語法
對這個檢視表執行的查詢必須包含資料集限定詞。如要查詢具有資料集限定詞的資料,您必須具備該資料集的權限。詳情請參閱語法。 下表列出這個檢視畫面的區域和資源範圍:
檢視表名稱 | 資源範圍 | 區域範圍 |
---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.KEY_COLUMN_USAGE; |
資料集層級 | 資料集位置 |
-
選用:
PROJECT_ID
:您的 Google Cloud 專案 ID。如未指定,系統會使用預設專案。
如要查詢具有資料集限定詞的資料,您必須具備該資料集的權限。如要查詢含有區域限定符的資料,您必須具備專案權限。
範例
範例 1:
以下查詢會顯示資料集中單一資料表的限制:
SELECT * FROM PROJECT_ID.DATASET.INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE table_name = TABLE;
更改下列內容:
PROJECT_ID
:選用。雲端專案的名稱。如未指定,這項指令會使用預設專案。DATASET
:資料集名稱。TABLE
:資料表名稱。
反之,下列查詢會顯示單一資料集中所有資料表的鍵欄使用情形。
SELECT * FROM PROJECT_ID.DATASET.INFORMATION_SCHEMA.KEY_COLUMN_USAGE;
如果資料表或資料集沒有限制,查詢結果會如下所示:
+-----------------------------+ | There is no data to display | +-----------------------------+
範例 2:
下列 DDL 陳述式會建立主鍵資料表和外鍵資料表。
CREATE TABLE composite_pk (x int64, y string, primary key (x, y) NOT ENFORCED);
CREATE TABLE table composite_fk (x int64, y string, z string, primary key (x, y) NOT ENFORCED, CONSTRAINT composite_fk foreign key (z, x) REFERENCES composite_pk (y, x) NOT ENFORCED);
如果使用「範例 1」中的陳述式查詢,查詢結果會與下列內容類似。請注意,範例結果不包含 CONSTRAINT_CATALOG
、CONSTRAINT_SCHEMA
和重複的資料欄。
+---------------------------+--------------+-------------+------------------+-------------------------------+ | CONSTRAINT_NAME | TABLE_NAME | COLUMN_NAME | ORDINAL_POSITION | POSITION_IN_UNIQUE_CONSTRAINT | +---------------------------+--------------+-------------+------------------+-------------------------------+ | composite_pk.pk$ | composite_pk | x | 1 | NULL | | composite_pk.pk$ | composite_pk | y | 2 | NULL | | composite_fk.pk$ | composite_fk | x | 1 | NULL | | composite_fk.pk$ | composite_fk | y | 2 | NULL | | composite_fk.composite_fk | composite_fk | z | 1 | 2 | | composite_fk.composite_fk | composite_fk | x | 2 | 1 | +---------------------------+--------------+-------------+------------------+-------------------------------+