PARAMETERS ビュー
INFORMATION_SCHEMA.PARAMETERS ビューには、データセット内の各ルーティンのパラメータごとに 1 行が表示されます。
必要な権限
INFORMATION_SCHEMA.PARAMETERS ビューをクエリするには、次の Identity and Access Management(IAM)権限が必要です。
- bigquery.routines.get
- bigquery.routines.list
次の IAM 事前定義ロールには、ルーティン メタデータの取得に必要な権限が含まれています。
- roles/bigquery.admin
- roles/bigquery.metadataViewer
- roles/bigquery.dataViewer
BigQuery の権限の詳細については、IAM でのアクセス制御をご覧ください。
スキーマ
INFORMATION_SCHEMA.PARAMETERS ビューにクエリを実行すると、クエリ結果として、データセット内の各ルーティンのパラメータごとに 1 行が表示されます。
INFORMATION_SCHEMA.PARAMETERS ビューのスキーマは次のとおりです。
| 列名 | データ型 | 値 | 
|---|---|---|
| SPECIFIC_CATALOG | STRING | パラメータを含むルーティンが定義されているデータセットを含むプロジェクトの名前 | 
| SPECIFIC_SCHEMA | STRING | パラメータが定義されているルーティンを含むデータセットの名前 | 
| SPECIFIC_NAME | STRING | パラメータが定義されているルーティンの名前 | 
| ORDINAL_POSITION | STRING | パラメータの位置(開始値 1)、または戻り値の 0 | 
| PARAMETER_MODE | STRING | パラメータのモード( IN、OUT、INOUT、またはNULL) | 
| IS_RESULT | STRING | パラメータがどの関数( YESまたはNO)の結果であるか | 
| PARAMETER_NAME | STRING | パラメータの名前 | 
| DATA_TYPE | STRING | パラメータのタイプ(任意の型として定義されている場合は ANY TYPE) | 
| PARAMETER_DEFAULT | STRING | SQL リテラル値としてのパラメータのデフォルト値(常に NULL) | 
| IS_AGGREGATE | STRING | 集計パラメータであるかどうかにかかわらず、常に NULLです | 
スコープと構文
このビューに対するクエリでは、データセット修飾子またはリージョン修飾子を指定する必要があります。詳細については、構文をご覧ください。次の表に、このビューのリージョン スコープとリソース スコープを示します。
| ビュー名 | リソース スコープ | リージョン スコープ | 
|---|---|---|
| [PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.PARAMETERS | プロジェクト レベル | REGION | 
| [PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.PARAMETERS | データセット レベル | データセットのロケーション | 
- 
  省略可: PROJECT_ID: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。
- 
  REGION: 任意のデータセット リージョン名。例:`region-us`
- 
  DATASET_ID: データセットの ID。詳しくは、データセット修飾子をご覧ください。
例
-- Returns metadata for parameters of a routine in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.PARAMETERS;
-- Returns metadata for parameters of a routine in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.PARAMETERS;
例
例
デフォルト プロジェクト以外のプロジェクトのデータセットに対してクエリを実行するには、次の形式でプロジェクト ID を追加します。
`PROJECT_ID`.`DATASET_ID`.INFORMATION_SCHEMA.PARAMETERS
- PROJECT_ID: プロジェクトの ID。
- DATASET_ID: データセットの ID。
例: example-project.mydataset.INFORMATION_SCHEMA.JOBS_BY_PROJECT
次の例では、INFORMATION_SCHEMA.PARAMETERS ビューからすべてのパラメータを取得しています。デフォルト プロジェクト(myproject)にある mydataset のルーティンに関するメタデータが返されます。
SELECT * EXCEPT(is_typed) FROM mydataset.INFORMATION_SCHEMA.PARAMETERS WHERE table_type = 'BASE TABLE';
次のような結果になります。
+-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+ | specific_catalog | specific_schema | specific_name | ordinal_position | parameter_mode | is_result | parameter_name | data_type | parameter_default | is_aggregate | +-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+ | myproject | mydataset | myroutine1 | 0 | NULL | YES | NULL | INT64 | NULL | NULL | | myproject | mydataset | myroutine1 | 1 | NULL | NO | x | INT64 | NULL | NULL | +-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+