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

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.ROUTINE Dataset-Ebene Dataset-Standort
Dabei gilt:

  • Optional: PROJECT_ID: die ID Ihres Google Cloud-Projekts. Wenn keine Angabe erfolgt, wird das Standardprojekt verwendet.
  • REGION: ist ein beliebiger Dataset-Regionsname. Beispiel: region-us
  • DATASET_ID: die ID Ihres Datasets. Weitere Informationen finden Sie unter Dataset-Qualifier.

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