Vista PARAMETERS
La vista INFORMATION_SCHEMA.PARAMETERS
contiene una fila para cada parámetro de cada rutina en un conjunto de datos.
Permisos necesarios
Para consultar la vista INFORMATION_SCHEMA.PARAMETERS
, necesitas los siguientes permisos de Identity and Access Management (IAM):
bigquery.routines.get
bigquery.routines.list
Cada uno de los siguientes roles predefinidos de IAM incluye los permisos que necesitas para obtener metadatos de rutina:
roles/bigquery.admin
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
Para obtener más información sobre IAM de BigQuery, consulta Control de acceso con IAM.
Esquema
Cuando consultas la vista INFORMATION_SCHEMA.PARAMETERS
, los resultados de la consulta contienen una fila por cada parámetro de cada rutina en el conjunto de datos.
La vista INFORMATION_SCHEMA.PARAMETERS
tiene el siguiente esquema:
Nombre de la columna | Tipo de datos | Valor |
---|---|---|
SPECIFIC_CATALOG |
STRING |
El nombre del proyecto que contiene el conjunto de datos en el que se define la rutina que tiene el parámetro |
SPECIFIC_SCHEMA |
STRING |
El nombre del conjunto de datos que contiene la rutina en la que se define el parámetro |
SPECIFIC_NAME |
STRING |
El nombre de la rutina en la que se define el parámetro |
ORDINAL_POSITION |
STRING |
La posición con base 1 del parámetro, o 0 para el valor que se muestra |
PARAMETER_MODE |
STRING |
El modo del parámetro, ya sea IN , OUT , INOUT o NULL |
IS_RESULT |
STRING |
Si el parámetro es el resultado de la función, YES o NO |
PARAMETER_NAME |
STRING |
El nombre del parámetro |
DATA_TYPE |
STRING |
El tipo del parámetro será ANY TYPE si se lo define como cualquier tipo |
PARAMETER_DEFAULT |
STRING |
El valor predeterminado del parámetro como un valor literal de SQL, siempre NULL |
IS_AGGREGATE |
STRING |
Si este es un parámetro agregado, siempre NULL |
Permiso y sintaxis
Las consultas realizadas a esta vista deben incluir un conjunto de datos o un calificador de región. Para obtener más información, consulta Sintaxis. En la siguiente tabla, se explican los permisos de la región y los recursos para esta vista:
Nombre de la vista | Permiso del recurso | Permiso de la región |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.PARAMETERS |
Nivel de proyecto | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.PARAMETERS |
Nivel de conjunto de datos | Ubicación del conjunto de datos |
Opcional: PROJECT_ID
: el ID del proyecto de Google Cloud. Si no se especifica, se usa el proyecto predeterminado.
REGION
: Cualquier nombre de región del conjunto de datos. Por ejemplo,`region-us`
.DATASET_ID
: Es el ID del conjunto de datos. Para obtener más información, consulta calificador de conjunto de datos.
Ejemplo
-- 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;
Ejemplo
Ejemplo
Para ejecutar la consulta en un conjunto de datos de un proyecto que no es el predeterminado, agrega el ID del proyecto en el siguiente formato:
`PROJECT_ID`.`DATASET_ID`.INFORMATION_SCHEMA.PARAMETERS
PROJECT_ID
: el ID del proyecto.DATASET_ID
: el ID del conjunto de datos.
Por ejemplo, example-project.mydataset.INFORMATION_SCHEMA.JOBS_BY_PROJECT
.
En el ejemplo que sigue, se recuperan todos los parámetros de la vista INFORMATION_SCHEMA.PARAMETERS
. Los metadatos que se muestran corresponden a las rutinas de mydataset
en el proyecto predeterminado: myproject
.
SELECT * EXCEPT(is_typed) FROM mydataset.INFORMATION_SCHEMA.PARAMETERS WHERE table_type = 'BASE TABLE';
El resultado es similar al siguiente:
+-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+ | 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 | +-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+