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