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

Para mayor estabilidad, te recomendamos que enumeres de forma explícita las columnas en tus consultas de esquema de información en lugar de usar un comodín (SELECT *). Enumerar las columnas de forma explícita evita que las consultas se interrumpan si cambia el esquema subyacente.

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
Reemplaza lo siguiente:
  • Opcional: PROJECT_ID: Es el ID de tu 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
Reemplaza lo siguiente:

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