PARAMETERS 视图
INFORMATION_SCHEMA.PARAMETERS
视图中的每一行对应数据集中每个例程的每个参数。
所需权限
如需查询 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
视图时,查询结果为数据集中每个例程的每个参数返回一行。
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。如果未指定,则使用默认项目。
示例
-- 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 | +-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+