Vue PARAMETERS

La vue INFORMATION_SCHEMA.PARAMETERS contient une ligne pour chaque paramètre de chaque routine d'un ensemble de données.

Autorisations requises

Pour interroger la vue INFORMATION_SCHEMA.PARAMETERS, vous avez besoin des autorisations IAM (Identity and Access Management) suivantes:

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

Chacun des rôles IAM prédéfinis suivants inclut les autorisations dont vous avez besoin pour obtenir les métadonnées de routine:

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

Pour plus d'informations sur les autorisations BigQuery, consultez la page Contrôle des accès avec IAM.

Schéma

Lorsque vous interrogez la vue INFORMATION_SCHEMA.PARAMETERS, les résultats de la requête contiennent une ligne pour chaque paramètre de chaque routine d'un ensemble de données.

La vue INFORMATION_SCHEMA.PARAMETERS présente le schéma suivant :

Nom de la colonne Type de données Valeur
SPECIFIC_CATALOG STRING Nom du projet qui contient l'ensemble de données dans lequel la routine contenant le paramètre est définie
SPECIFIC_SCHEMA STRING Nom de l'ensemble de données contenant la routine dans laquelle le paramètre est défini
SPECIFIC_NAME STRING Nom de la routine dans laquelle le paramètre est défini
ORDINAL_POSITION STRING Position en base 1 du paramètre, ou 0 pour la valeur renvoyée
PARAMETER_MODE STRING Mode du paramètre : IN, OUT, INOUT ou NULL
IS_RESULT STRING Indique si le paramètre est le résultat de la fonction, YES ou NO
PARAMETER_NAME STRING Nom du paramètre
DATA_TYPE STRING Type du paramètre, ANY TYPE s'il est défini comme n'importe quel type
PARAMETER_DEFAULT STRING Valeur par défaut du paramètre en tant que valeur littérale SQL, toujours NULL
IS_AGGREGATE STRING Indique s'il s'agit d'un paramètre d'agrégation, toujours NULL

Champ d'application et syntaxe

Les requêtes exécutées sur cette vue doivent inclure un ensemble de données ou un qualificatif de région. Pour en savoir plus, consultez la section Syntaxe. Le tableau suivant explique la portée des régions et des ressources pour cette vue :

Nom de la vue Champ d'application de la ressource Champ d'application de la région
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.PARAMETERS Niveau Projet REGION
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.PARAMETERS Niveau de l'ensemble de données Emplacement d'un ensemble de données
Remplacez les éléments suivants :

  • Facultatif : PROJECT_ID : ID de votre projet Google Cloud. Si non spécifié, le projet par défaut est utilisé.
 + REGION : nom de la région de l'ensemble de données. Par exemple, region-us. + DATASET_ID : ID de votre ensemble de données. Pour en savoir plus, consultez la section Qualificatif d'ensemble de données.

Exemple

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

Exemple

Exemple

Pour exécuter la requête sur un ensemble de données dans un projet autre que votre projet par défaut, ajoutez l'ID du projet en respectant le format suivant:

`PROJECT_ID`.`DATASET_ID`.INFORMATION_SCHEMA.PARAMETERS
Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet.
  • DATASET_ID : ID de l'ensemble de données.

Par exemple, example-project.mydataset.INFORMATION_SCHEMA.JOBS_BY_PROJECT.

L'exemple suivant récupère tous les paramètres de la vue INFORMATION_SCHEMA.PARAMETERS. Les métadonnées renvoyées concernent les routines de mydataset dans votre projet par défaut (myproject).

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

Le résultat ressemble à ce qui suit :

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