vista ROUTINES
La vista INFORMATION_SCHEMA.ROUTINES
contiene una riga per ogni routine in un
set di dati.
Autorizzazioni obbligatorie
Per eseguire una query sulla vista INFORMATION_SCHEMA.ROUTINES
, devi disporre delle seguenti autorizzazioni IAM (Identity and Access Management):
bigquery.routines.get
bigquery.routines.list
Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per ricevere i metadati di routine:
roles/bigquery.admin
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
Per maggiori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.
Schema
Quando esegui una query sulla vista INFORMATION_SCHEMA.ROUTINES
, i risultati della query contengono una riga per ogni routine in un set di dati.
La vista INFORMATION_SCHEMA.ROUTINES
ha il seguente schema:
Nome colonna | Tipo di dati | Valore |
---|---|---|
SPECIFIC_CATALOG |
STRING |
Il nome del progetto che contiene il set di dati in cui è definita la routine |
SPECIFIC_SCHEMA |
STRING |
Il nome del set di dati che contiene la routine |
SPECIFIC_NAME |
STRING |
Il nome della routine |
ROUTINE_CATALOG |
STRING |
Il nome del progetto che contiene il set di dati in cui è definita la routine |
ROUTINE_SCHEMA |
STRING |
Il nome del set di dati che contiene la routine |
ROUTINE_NAME |
STRING |
Il nome della routine |
ROUTINE_TYPE |
STRING |
Il tipo di routine:
|
DATA_TYPE |
STRING |
Il tipo di dati restituito dalla routine. NULL se la routine è una stored procedure |
ROUTINE_BODY |
STRING |
Come viene definito il corpo della routine, SQL o EXTERNAL se la routine è una funzione JavaScript definita dall'utente |
ROUTINE_DEFINITION |
STRING |
La definizione della routine |
EXTERNAL_LANGUAGE |
STRING |
JAVASCRIPT se la routine è una funzione JavaScript definita dall'utente oppure NULL se la routine è stata definita con SQL |
IS_DETERMINISTIC |
STRING |
YES se la routine è nota per essere deterministica,
NO se non lo è o NULL se sconosciuta |
SECURITY_TYPE |
STRING |
Tipo di sicurezza della routine, sempre NULL |
CREATED |
TIMESTAMP |
Ora di creazione della routine |
LAST_ALTERED |
TIMESTAMP |
Ora dell'ultima modifica della routine |
DDL |
STRING |
L'istruzione DDL che può essere utilizzata per creare la routine, ad esempio CREATE FUNCTION o CREATE PROCEDURE
|
Ambito e sintassi
Le query in questa visualizzazione devono includere un set di dati o un qualificatore di regione. Per ulteriori informazioni, consulta la sezione Sintassi. La tabella seguente illustra gli ambiti a livello di regione e risorsa per questa visualizzazione:
Nome vista | Ambito risorsa | Ambito regione |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ROUTINES |
A livello di progetto | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.ROUTINE |
Livello set di dati | Posizione del set di dati |
- (Facoltativo)
PROJECT_ID
: l'ID del tuo progetto Google Cloud. Se non specificato, viene utilizzato il progetto predefinito. REGION
: qualsiasi nome della regione del set di dati. Ad esempio:region-us
.DATASET_ID
: l'ID del set di dati. Per ulteriori informazioni, consulta la sezione Qualificatore del set di dati.
Esempio
-- 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;
Esempio
Esempio
Per eseguire la query su un progetto diverso da quello predefinito, aggiungi l'ID progetto al set di dati nel seguente formato:
`PROJECT_ID`.INFORMATION_SCHEMA.ROUTINES. Ad esempio,
`myproject`.INFORMATION_SCHEMA.ROUTINES
.
L'esempio seguente recupera tutte le colonne dalla visualizzazione INFORMATION_SCHEMA.ROUTINES
. I metadati restituiti si riferiscono a tutte le routine in
mydataset
nel tuo progetto predefinito: myproject
. Il set di dati mydataset
contiene una routine denominata myroutine1
.
SELECT * FROM mydataset.INFORMATION_SCHEMA.ROUTINES;
Il risultato è simile al seguente:
+------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+ | 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 | | | | | | | | | | | | | | | | | ); | +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+