Ansicht ROUTINES

Die Ansicht INFORMATION_SCHEMA.ROUTINES enthält eine Zeile für jede Routine in einem Dataset.

Erforderliche Berechtigungen

Zum Abfragen der INFORMATION_SCHEMA.ROUTINES-Ansicht benötigen Sie folgende IAM-Berechtigungen (Identity and Access Management):

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

Jede der folgenden vordefinierten IAM-Rollen enthält die Berechtigungen, die Sie zum Abrufen von Routine-Metadaten benötigen:

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

Weitere Informationen zu BigQuery-Berechtigungen finden Sie unter Zugriffssteuerung mit IAM.

Schema

Wenn Sie die Ansicht INFORMATION_SCHEMA.ROUTINES abfragen, wird im Ergebnis jede Routine in einem Dataset in einer eigenen Zeile dargestellt.

Die Ansicht INFORMATION_SCHEMA.ROUTINES hat das folgende Schema:

Spaltenname Datentyp Wert
SPECIFIC_CATALOG STRING Der Name des Projekts mit dem Dataset, in dem die Routine definiert ist
SPECIFIC_SCHEMA STRING Der Name des Datasets, das die Routine enthält
SPECIFIC_NAME STRING Der Name der Routine
ROUTINE_CATALOG STRING Der Name des Projekts mit dem Dataset, in dem die Routine definiert ist
ROUTINE_SCHEMA STRING Der Name des Datasets, das die Routine enthält
ROUTINE_NAME STRING Der Name der Routine
ROUTINE_TYPE STRING Der Routinetyp:
  • FUNCTION: Eine persistente benutzerdefinierte Funktion in BigQuery
  • PROCEDURE: Eine gespeicherte Prozedur in BigQuery
  • TABLE FUNCTION: Eine BigQuery-Tabellenfunktion.
DATA_TYPE STRING Der vom Ablauf zurückgegebene Datentyp. NULL, wenn die Routine eine gespeicherte Prozedur ist
ROUTINE_BODY STRING Gibt an, wie der Routinetext definiert ist; entweder SQL oder EXTERNAL, wenn die Routine eine benutzerdefinierte JavaScript-Funktion ist
ROUTINE_DEFINITION STRING Die Definition der Routine
EXTERNAL_LANGUAGE STRING JAVASCRIPT, wenn die Routine eine benutzerdefinierte JavaScript-Funktion ist, oder NULL, wenn die Routine mit SQL definiert wurde
IS_DETERMINISTIC STRING YES, wenn es sich um eine deterministische Routine handelt, NO, wenn dies nicht der Fall ist, oder NULL, wenn dies nicht bekannt ist
SECURITY_TYPE STRING Sicherheitstyp der Routine, immer NULL
CREATED TIMESTAMP Der Erstellungszeitpunkt der Routine
LAST_ALTERED TIMESTAMP Der Zeitpunkt der letzten Änderung der Routine
DDL STRING Die DDL-Anweisung, mit der die Routine erstellt werden kann, z. B. CREATE FUNCTION oder CREATE PROCEDURE
CONNECTION STRING Der Name der Verbindung, falls vorhanden. Andernfalls NULL

Bereich und Syntax

Für Abfragen dieser Ansicht muss ein Dataset- oder Regions-Qualifier verwendet werden. Weitere Informationen finden Sie unter Syntax. In der folgenden Tabelle werden die Regions- und Ressourcenbereiche für diese Ansicht erläutert:

Ansichtsname Ressourcenbereich Regionsbereich
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ROUTINES auf Projektebene REGION
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.ROUTINES Dataset-Ebene Dataset-Standort
Ersetzen Sie Folgendes:

  • Optional: PROJECT_ID: die ID Ihres Google Cloud-Projekts. Wenn keine Angabe erfolgt, wird das Standardprojekt verwendet.

    Beispiel

    -- 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;
    

    Beispiel

    Beispiel

    Wenn Sie die Abfrage für ein anderes Projekt als Ihr Standardprojekt ausführen möchten, fügen Sie dem Dataset die Projekt-ID im folgenden Format hinzu:

    `PROJECT_ID`.INFORMATION_SCHEMA.ROUTINES
    . Beispiel: `myproject`.INFORMATION_SCHEMA.ROUTINES.

    Im folgenden Beispiel werden alle Spalten der Ansicht INFORMATION_SCHEMA.ROUTINES abgerufen. Die zurückgegebenen Metadaten gelten für alle Routinen in mydataset in Ihrem Standardprojekt myproject. Das Dataset mydataset enthält eine Routine namens myroutine1.

    SELECT
      *
    FROM
      mydataset.INFORMATION_SCHEMA.ROUTINES;

    Das Ergebnis sieht etwa so aus:

    +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+
    | 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                                                     |
    |                  |                 |               |                 |                |              |              |           |              |                    |                   |                  |               |                             |                             | );                                                        |
    +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+