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 (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 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:
  • FUNCTION: una funzione definita dall'utente permanente di BigQuery
  • PROCEDURE: una procedura memorizzata BigQuery
  • TABLE FUNCTION: una funzione tabella BigQuery.
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
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 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                                                     |
    |                  |                 |               |                 |                |              |              |           |              |                    |                   |                  |               |                             |                             | );                                                        |
    +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+