Vue ROUTINES
La vue INFORMATION_SCHEMA.ROUTINES
contient une ligne pour chaque routine d'un ensemble de données.
Autorisations requises
Pour interroger la vue INFORMATION_SCHEMA.ROUTINES
, 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.ROUTINES
, les résultats de la requête contiennent une ligne pour chaque routine d'un ensemble de données.
La vue INFORMATION_SCHEMA.ROUTINES
présente le schéma suivant :
Nom de la colonne | Type de données | Valeur |
---|---|---|
SPECIFIC_CATALOG |
STRING |
Nom du projet contenant l'ensemble de données dans lequel la routine est définie |
SPECIFIC_SCHEMA |
STRING |
Nom de l'ensemble de données contenant la routine |
SPECIFIC_NAME |
STRING |
Nom de la routine |
ROUTINE_CATALOG |
STRING |
Nom du projet contenant l'ensemble de données dans lequel la routine est définie |
ROUTINE_SCHEMA |
STRING |
Nom de l'ensemble de données contenant la routine |
ROUTINE_NAME |
STRING |
Nom de la routine |
ROUTINE_TYPE |
STRING |
Type de routine :
|
DATA_TYPE |
STRING |
Type de données renvoyé par la routine. NULL si la routine est une procédure stockée |
ROUTINE_BODY |
STRING |
Mode de définition du corps de la routine, SQL ou EXTERNAL si la routine est une fonction JavaScript définie par l'utilisateur |
ROUTINE_DEFINITION |
STRING |
Définition de la routine |
EXTERNAL_LANGUAGE |
STRING |
JAVASCRIPT si la routine est une fonction JavaScript définie par l'utilisateur ou NULL si la routine a été définie avec SQL |
IS_DETERMINISTIC |
STRING |
YES si la routine est identifiée comme déterministe, NO dans le cas contraire, ou NULL si elle est inconnue |
SECURITY_TYPE |
STRING |
Type de sécurité de la routine, toujours NULL |
CREATED |
TIMESTAMP |
Date/Heure de création de la routine |
LAST_ALTERED |
TIMESTAMP |
Date/Heure de la dernière modification de la routine |
DDL |
STRING |
Instruction LDD pouvant être utilisée pour créer la routine, par exemple CREATE FUNCTION ou CREATE PROCEDURE
|
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.ROUTINES |
Niveau Projet | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.ROUTINES |
Niveau de l'ensemble de données | Emplacement d'un ensemble de données |
- 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 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;
Exemple
Exemple
Pour exécuter la requête sur un projet autre que celui par défaut, ajoutez l'ID du projet à l'ensemble de données, en respectant le format suivant :
`PROJECT_ID`.INFORMATION_SCHEMA.ROUTINES
`myproject`.INFORMATION_SCHEMA.ROUTINES
.
L'exemple suivant récupère toutes les colonnes de la vue INFORMATION_SCHEMA.ROUTINES
. Les métadonnées renvoyées concernent toutes les routines de mydataset
dans votre projet par défaut (myproject
). L'ensemble de données mydataset
contient une routine nommée myroutine1
.
SELECT * FROM mydataset.INFORMATION_SCHEMA.ROUTINES;
Le résultat ressemble à ce qui suit :
+------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+ | 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 | | | | | | | | | | | | | | | | | ); | +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+