Visualizzazione ROUTINES

La vista INFORMATION_SCHEMA.ROUTINES contiene una riga per ogni routine in un del set di dati.

Autorizzazioni obbligatorie

Per eseguire una query sulla vista INFORMATION_SCHEMA.ROUTINES, è necessario quanto segue Autorizzazioni IAM (Identity and Access Management):

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

Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per ottenere i metadati di routine:

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

Per ulteriori 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 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 la routine è definito
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:
  • FUNCTION: una funzione definita dall'utente permanente di BigQuery
  • PROCEDURE: una procedura memorizzata BigQuery
  • TABLE FUNCTION: una piattaforma BigQuery funzione di tabella.
DATA_TYPE STRING Il tipo di dati restituito dalla routine. NULL se una routine è una stored procedure
ROUTINE_BODY STRING Come viene definito il corpo della routine (SQL o EXTERNAL se la routine è un elemento JavaScript definito dall'utente funzione
ROUTINE_DEFINITION STRING La definizione della routine
EXTERNAL_LANGUAGE STRING JAVASCRIPT se la routine è JavaScript funzione definita dall'utente 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 Data/ora ultima modifica della routine
DDL STRING L'istruzione DDL che può essere utilizzato per creare la routine, ad esempio CREATE FUNCTION o CREATE PROCEDURE

Ambito e sintassi

Le query su questa vista devono includere un set di dati o un qualificatore di regione. Per maggiori informazioni per le informazioni, consulta 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
Sostituisci quanto segue:

  • Facoltativo: PROJECT_ID: l'ID del tuo progetto Google Cloud. Se non specificato, viene utilizzato il progetto predefinito.

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 INFORMATION_SCHEMA.ROUTINES visualizzazione. I metadati restituiti riguardano tutte le routine in mydataset nel progetto predefinito: myproject. 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                                                     |
|                  |                 |               |                 |                |              |              |           |              |                    |                   |                  |               |                             |                             | );                                                        |
+------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+