Vista ROTINAS
A vista INFORMATION_SCHEMA.ROUTINES
contém uma linha para cada rotina num conjunto de dados.
Autorizações necessárias
Para consultar a vista INFORMATION_SCHEMA.ROUTINES
, precisa das seguintes autorizações de gestão de identidade e de acesso (IAM):
bigquery.routines.get
bigquery.routines.list
Cada uma das seguintes funções de IAM predefinidas inclui as autorizações de que precisa para obter metadados de rotina:
roles/bigquery.admin
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
Para mais informações sobre as autorizações do BigQuery, consulte o artigo Controlo de acesso com a IAM.
Esquema
Quando consulta a vista INFORMATION_SCHEMA.ROUTINES
, os resultados da consulta contêm uma linha para cada rotina num conjunto de dados.
A vista INFORMATION_SCHEMA.ROUTINES
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 onde a rotina está definida |
SPECIFIC_SCHEMA |
STRING |
O nome do conjunto de dados que contém a rotina |
SPECIFIC_NAME |
STRING |
O nome da rotina |
ROUTINE_CATALOG |
STRING |
O nome do projeto que contém o conjunto de dados onde a rotina está definida |
ROUTINE_SCHEMA |
STRING |
O nome do conjunto de dados que contém a rotina |
ROUTINE_NAME |
STRING |
O nome da rotina |
ROUTINE_TYPE |
STRING |
O tipo de rotina:
|
DATA_TYPE |
STRING |
O tipo de dados que a rotina devolve. NULL se a rotina for um procedimento armazenado |
ROUTINE_BODY |
STRING |
Como o corpo da rotina é definido, SQL ou
EXTERNAL se a rotina for uma função definida pelo utilizador
JavaScript |
ROUTINE_DEFINITION |
STRING |
A definição da rotina |
EXTERNAL_LANGUAGE |
STRING |
JAVASCRIPT se a rotina for uma função definida pelo utilizador em JavaScript ou NULL se a rotina tiver sido definida com SQL |
IS_DETERMINISTIC |
STRING |
YES se a rotina for conhecida por ser determinística,
NO se não for ou NULL se for desconhecida |
SECURITY_TYPE |
STRING |
Tipo de segurança da rotina, sempre NULL |
CREATED |
TIMESTAMP |
A hora de criação da rotina |
LAST_ALTERED |
TIMESTAMP |
Hora da última modificação da rotina |
DDL |
STRING |
A declaração DDL
que pode ser usada para criar a rotina, como
CREATE FUNCTION
ou CREATE PROCEDURE
|
CONNECTION |
STRING |
O nome da associação, se a rotina tiver um. Caso contrário
NULL |
Âmbito e sintaxe
As consultas desta vista têm de incluir um conjunto de dados ou um qualificador de região. Para mais informações, consulte a secção Sintaxe. A tabela seguinte explica os âmbitos da região e dos recursos para esta vista:
Nome da visualização de propriedade | Âmbito do recurso | Âmbito da região |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ROUTINES |
Nível do projeto | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.ROUTINES |
Nível do conjunto de dados | Localização do conjunto de dados |
-
Opcional:
PROJECT_ID
: o ID do seu projeto do Trusted Cloud Google Cloud. Se não for especificado, é usado o projeto predefinido. -
REGION
: qualquer nome da região do conjunto de dados. Por exemplo,`region-us`
. -
DATASET_ID
: o ID do seu conjunto de dados. Para mais informações, consulte o artigo Qualificador de conjunto de dados.
Exemplo
-- Returns metadata for routines in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.ROUTINES;
-- Returns metadata for routines in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.ROUTINES;
Exemplo
Exemplo
Para executar a consulta num projeto que não seja o projeto predefinido, adicione o ID do projeto ao conjunto de dados no seguinte formato:
`PROJECT_ID`.INFORMATION_SCHEMA.ROUTINES
`myproject`.INFORMATION_SCHEMA.ROUTINES
.
O exemplo seguinte obtém todas as colunas da vista INFORMATION_SCHEMA.ROUTINES
. Os metadados devolvidos são para todas as rotinas em mydataset
no seu projeto predefinido: myproject
. O conjunto de dados mydataset
contém uma rotina denominada myroutine1
.
SELECT * FROM mydataset.INFORMATION_SCHEMA.ROUTINES;
O resultado é semelhante ao seguinte:
+------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+ | specific_catalog | specific_schema | specific_name | routine_catalog | routine_schema | routine_name | routine_type | data_type | routine_body | routine_definition | external_language | is_deterministic | security_type | created | last_altered | ddl | +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+ | myproject | mydataset | myroutine1 | myproject | mydataset | myroutine1 | FUNCTION | NULL | SQL | x + 3 | NULL | NULL | NULL | 2019-10-03 17:29:00.235 UTC | 2019-10-03 17:29:00.235 UTC | CREATE FUNCTION myproject.mydataset.myroutine1(x FLOAT64) | | | | | | | | | | | | | | | | | AS ( | | | | | | | | | | | | | | | | | x + 3 | | | | | | | | | | | | | | | | | ); | +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+