Visualizzazione ROUTINE
La vista INFORMATION_SCHEMA.ROUTINES contiene una riga per ogni routine in un
set di dati.
Autorizzazioni obbligatorie
Per eseguire query sulla visualizzazione INFORMATION_SCHEMA.ROUTINES, devi disporre delle seguenti autorizzazioni IAM (Gestione di identità e accessi):
bigquery.routines.getbigquery.routines.list
Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per ottenere i metadati di routine:
roles/bigquery.adminroles/bigquery.metadataViewerroles/bigquery.dataViewer
Per ulteriori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.
Schema
Quando esegui una query sulla visualizzazione INFORMATION_SCHEMA.ROUTINES, i risultati della query contengono una riga per ogni routine in un set di dati.
La vista INFORMATION_SCHEMA.ROUTINES ha lo schema seguente:
| 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 contenente 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 contenente 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 | 
      La modalità di definizione del corpo della routine, SQL o
      EXTERNAL se la routine è una funzione definita dall'utente
      JavaScript | 
    
ROUTINE_DEFINITION | 
      STRING | 
      La definizione della routine | 
EXTERNAL_LANGUAGE | 
      STRING | 
      JAVASCRIPT se la routine è una funzione definita dall'utente
        JavaScript o NULL se la routine è stata definita
        con SQL | 
    
IS_DETERMINISTIC | 
      STRING | 
      YES se la routine è nota come deterministica,
        NO se non lo è o NULL se non è nota | 
    
SECURITY_TYPE | 
      STRING | 
      Tipo di sicurezza della routine, sempre NULL | 
    
CREATED | 
      TIMESTAMP | 
      L'ora di creazione della routine | 
LAST_ALTERED | 
      TIMESTAMP | 
      La data/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
       | 
    
CONNECTION | 
      STRING | 
      Il nome della connessione, se presente nella routine. In caso contrario
      NULL | 
    
Ambito e sintassi
Le query su questa vista devono includere un set di dati o un qualificatore di regione. Per ulteriori informazioni, consulta la sezione Sintassi. La tabella seguente illustra gli ambiti della regione e delle risorse per questa visualizzazione:
| Nome vista | Ambito risorsa | Ambito regione | 
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ROUTINES | 
  Livello progetto | REGION | 
  
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.ROUTINES | 
  A livello di set di dati | Posizione del set di dati | 
- 
  (Facoltativo) 
PROJECT_ID: l'ID del 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 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
`myproject`.INFORMATION_SCHEMA.ROUTINES.
L'esempio seguente recupera tutte le colonne dalla visualizzazione INFORMATION_SCHEMA.ROUTINES. I metadati restituiti riguardano tutte le routine in
mydataset nel 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 | | | | | | | | | | | | | | | | | ); | +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+