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.getbigquery.routines.list
Jede der folgenden vordefinierten IAM-Rollen enthält die Berechtigungen, die Sie zum Abrufen von Routine-Metadaten benötigen:
roles/bigquery.adminroles/bigquery.metadataViewerroles/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-Speicherort | 
- 
  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 | | | | | | | | | | | | | | | | | ); | +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+