Visualização PARAMETERS

A visualização INFORMATION_SCHEMA.PARAMETERS contém uma linha para cada parâmetro de cada rotina em um conjunto de dados.

Permissões necessárias

Para consultar a visualização INFORMATION_SCHEMA.PARAMETERS, você precisa das seguintes permissões de gerenciamento de identidade e acesso (IAM, na sigla em inglês):

  • bigquery.routines.get
  • bigquery.routines.list

Cada um dos seguintes papéis de IAM predefinidos inclui as permissões necessárias para receber metadados de rotina:

  • roles/bigquery.admin
  • roles/bigquery.metadataViewer
  • roles/bigquery.dataViewer

Para mais informações sobre as permissões do BigQuery, consulte Controle de acesso com o IAM.

Esquema

Quando você consulta a visualização INFORMATION_SCHEMA.PARAMETERS, os resultados da consulta contêm uma linha para cada parâmetro de cada rotina em um conjunto de dados.

A visualização INFORMATION_SCHEMA.PARAMETERS tem o seguinte esquema:

Nome da coluna Tipo de dados Valor
SPECIFIC_CATALOG STRING O nome do projeto que contém o conjunto de dados em que a rotina que contém o parâmetro está definida
SPECIFIC_SCHEMA STRING O nome do conjunto de dados que contém a rotina em que o parâmetro está definido
SPECIFIC_NAME STRING O nome da rotina em que o parâmetro está definido
ORDINAL_POSITION STRING A posição com base em 1 do parâmetro ou 0 para o valor de retorno
PARAMETER_MODE STRING O modo do parâmetro, IN, OUT, INOUT ou NULL
IS_RESULT STRING Se o parâmetro é o resultado da função, YES ou NO
PARAMETER_NAME STRING O nome do parâmetro
DATA_TYPE STRING O tipo do parâmetro, será ANY TYPE se definido como qualquer tipo
PARAMETER_DEFAULT STRING O valor padrão do parâmetro como um valor de literal SQL, sempre NULL
IS_AGGREGATE STRING Se este é um parâmetro agregado, sempre NULL

Escopo e sintaxe

As consultas nessa visualização precisam incluir um conjunto de dados ou um qualificador de região. Para mais informações, consulte Sintaxe. A tabela a seguir explica os escopos de região e recurso dessa visualização:

Nome da visualização Escopo do recurso Escopo da região
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.PARAMETERS Nível do projeto REGION
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.PARAMETERS Nível do conjunto de dados Local do conjunto de dados
Substitua:

  • Opcional: PROJECT_ID: o ID do seu projeto do Google Cloud. Se não for especificado, o projeto padrão será usado.
: + REGION: qualquer nome da região do conjunto de dados. Por exemplo, region-us. + DATASET_ID: ID do conjunto de dados. Para mais informações, consulte Qualificador de conjunto de dados.

Exemplo

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

Exemplo

Exemplo

Para executar a consulta em um conjunto de dados em um projeto diferente do seu projeto padrão, adicione o ID do projeto no seguinte formato:

`PROJECT_ID`.`DATASET_ID`.INFORMATION_SCHEMA.PARAMETERS
Substitua:

  • PROJECT_ID: o ID do projeto.
  • DATASET_ID: o código do conjunto de dados.

Por exemplo, example-project.mydataset.INFORMATION_SCHEMA.JOBS_BY_PROJECT

O exemplo a seguir recupera todos os parâmetros da visualização INFORMATION_SCHEMA.PARAMETERS. Os metadados retornados são para rotinas mydataset no seu projeto padrão - myproject.

SELECT
  * EXCEPT(is_typed)
FROM
  mydataset.INFORMATION_SCHEMA.PARAMETERS
WHERE
  table_type = 'BASE TABLE';

O resultado será semelhante ao seguinte:

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