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 参数的模式(INOUTINOUTNULL
IS_RESULT STRING 值为 YESNO,具体取决于参数是否为函数的结果
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 视图中检索所有参数。返回的元数据是默认项目 myprojectmydataset 的例程的元数据。

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