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