INFORMATION_SCHEMA.VIEWS
にはビューに関するメタデータが含まれます。
必要な権限
VIEWS
を取得するには、bigquery.tables.get
と bigquery.tables.list
の権限が付与されている必要があります。
構文
このビューに対するクエリでは、データセットまたはリージョンの修飾子を指定する必要があります。
-- Returns metadata for views in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.VIEWS;
-- Returns metadata for all views in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.VIEWS;
VIEWS
ビュー
INFORMATION_SCHEMA.VIEWS
ビューにクエリを実行すると、データセット内の各ビューごとに 1 行が表示されるクエリ結果が返されます。
INFORMATION_SCHEMA.VIEWS
ビューのスキーマは次のとおりです。
列名 | データ型 | 値 |
---|---|---|
TABLE_CATALOG |
STRING |
データセットを含むプロジェクトの名前 |
TABLE_SCHEMA |
STRING |
ビューを含むデータセットの名前(データセット id ともいいます) |
TABLE_NAME |
STRING |
ビューの名前(テーブル id ともいいます) |
VIEW_DEFINITION |
STRING |
ビューを定義する SQL クエリ |
CHECK_OPTION |
STRING |
常に NULL が返されます。 |
USE_STANDARD_SQL |
STRING |
標準 SQL クエリでビューが作成された場合は YES 、useLegacySql が true に設定されている場合は NO が返されます。 |
例
例 1:
次の例では、今後の使用のために予約されている check_option
を除き、すべての列を INFORMATION_SCHEMA.VIEWS
ビューから取得します。デフォルト プロジェクト(myproject
)にある mydataset
内のすべてのビューに対するメタデータが返されます。
デフォルト プロジェクト以外のプロジェクトに対してクエリを実行するには、そのプロジェクト ID を `project_id`.dataset.INFORMATION_SCHEMA.view
という形式でデータセットに追加します。例: `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS
クエリを実行するには:
Console
Cloud Console で [BigQuery] ページを開きます。
[クエリエディタ] ボックスに、次の標準 SQL クエリを入力します。
INFORMATION_SCHEMA
には標準 SQL 構文を使用する必要があります。標準 SQL は Cloud Console のデフォルトの構文です。SELECT * EXCEPT(check_option) FROM mydataset.INFORMATION_SCHEMA.VIEWS
[実行] をクリックします。
bq
query
コマンドで、--nouse_legacy_sql
または --use_legacy_sql=false
フラグを使用して標準 SQL 構文を指定します。INFORMATION_SCHEMA
クエリには標準 SQL 構文を使用する必要があります。
クエリを実行するには、次のように入力します。
bq query --nouse_legacy_sql \ 'SELECT * EXCEPT(check_option) FROM mydataset.INFORMATION_SCHEMA.VIEWS'
結果は次のように表示されます。
+----------------+---------------+---------------+---------------------------------------------------------------------+------------------+ | table_catalog | table_schema | table_name | view_definition | use_standard_sql | +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+ | myproject | mydataset | myview | SELECT column1, column2 FROM [myproject:mydataset.mytable] LIMIT 10 | NO | +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+
結果から、このビューはレガシー SQL クエリを使用して作成されたことがわかります。
例 2:
次の例では、デフォルト プロジェクト(myproject
)で mydataset
の myview
の定義に使用する SQL クエリとクエリ構文を取得します。
デフォルト プロジェクト以外のプロジェクトに対してクエリを実行するには、そのプロジェクト ID を `project_id`.dataset.INFORMATION_SCHEMA.view
という形式でデータセットに追加します。例: `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS
クエリを実行するには:
Console
Cloud Console で [BigQuery] ページを開きます。
[クエリエディタ] ボックスに、次の標準 SQL クエリを入力します。
INFORMATION_SCHEMA
には標準 SQL 構文を使用する必要があります。標準 SQL は Cloud Console のデフォルトの構文です。SELECT table_name, view_definition, use_standard_sql FROM mydataset.INFORMATION_SCHEMA.VIEWS WHERE table_name="myview"
[実行] をクリックします。
bq
query
コマンドで、--nouse_legacy_sql
または --use_legacy_sql=false
フラグを使用して標準 SQL 構文を指定します。INFORMATION_SCHEMA
クエリには標準 SQL 構文を使用する必要があります。
クエリを実行するには、次のように入力します。
bq query --nouse_legacy_sql \ 'SELECT table_name, view_definition, use_standard_sql FROM mydataset.INFORMATION_SCHEMA.VIEWS WHERE table_name="myview"'
結果は次のように表示されます。
+---------------+---------------------------------------------------------------+------------------+
| table_name | view_definition | use_standard_sql |
+---------------+---------------------------------------------------------------+------------------+
| myview | SELECT column1, column2, column3 FROM mydataset.mytable
| YES |
+---------------+---------------------------------------------------------------+------------------+
結果から、このビューは標準の SQL クエリで作成されたことがわかります。