「日常安排」檢視畫面
INFORMATION_SCHEMA.ROUTINES
檢視表包含資料集中每個處理常式的一個資料列。
所需權限
如要查詢 INFORMATION_SCHEMA.ROUTINES
檢視畫面,您必須具備下列身分與存取權管理 (IAM) 權限:
bigquery.routines.get
bigquery.routines.list
以下每個預先定義的 IAM 角色都包含取得例行中繼資料所需的權限:
roles/bigquery.admin
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
如要進一步瞭解 BigQuery 權限,請參閱「使用身分與存取權管理功能控管存取權」。
結構定義
查詢 INFORMATION_SCHEMA.ROUTINES
檢視表時,查詢結果會為資料集中的每個處理常式包含一個資料列。
INFORMATION_SCHEMA.ROUTINES
檢視表具有下列結構定義:
資料欄名稱 | 資料類型 | 值 |
---|---|---|
SPECIFIC_CATALOG |
STRING |
包含定義處理常式之資料集的專案名稱 |
SPECIFIC_SCHEMA |
STRING |
包含處理常式的資料集名稱 |
SPECIFIC_NAME |
STRING |
處理常式的名稱 |
ROUTINE_CATALOG |
STRING |
包含定義處理常式之資料集的專案名稱 |
ROUTINE_SCHEMA |
STRING |
包含處理常式的資料集名稱 |
ROUTINE_NAME |
STRING |
處理常式的名稱 |
ROUTINE_TYPE |
STRING |
處理常式類型:
|
DATA_TYPE |
STRING |
處理常式傳回的資料類型。如果處理常式是已儲存程序,則為 NULL |
ROUTINE_BODY |
STRING |
處理常式主體的定義方式,如果處理常式是 JavaScript 使用者定義函式,則為 SQL 或 EXTERNAL |
ROUTINE_DEFINITION |
STRING |
處理常式的定義 |
EXTERNAL_LANGUAGE |
STRING |
如果處理常式是 JavaScript 使用者定義函式,則為 JAVASCRIPT ;如果處理常式是透過 SQL 定義,則為 NULL |
IS_DETERMINISTIC |
STRING |
如果處理常式已知具決定性,則為 YES ;如果不具決定性,則為 NO ;或者如果未知,則為 NULL |
SECURITY_TYPE |
STRING |
處理常式的安全性類型一律為 NULL |
CREATED |
TIMESTAMP |
處理常式的建立時間 |
LAST_ALTERED |
TIMESTAMP |
處理常式的上次修改時間 |
DDL |
STRING |
可用來建立日常安排的 DDL 陳述式,例如 CREATE FUNCTION 或 CREATE PROCEDURE |
CONNECTION |
STRING |
處理常式是否有連線名稱。否則
NULL |
範圍和語法
對這個檢視表執行的查詢必須包含資料集或區域限定詞。詳情請參閱「語法」。下表說明這個檢視畫面的區域和資源範圍:
檢視表名稱 | 資源範圍 | 區域範圍 |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ROUTINES |
專案層級 | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.ROUTINES |
資料集層級 | 資料集位置 |
-
選用:
PROJECT_ID
: Google Cloud 專案的 ID。如果未指定,系統會使用預設專案。 -
REGION
:任一資料集區域名稱。例如:`region-us`
。 -
DATASET_ID
:資料集 ID。詳情請參閱「資料集限定條件」。
示例
-- 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;
範例
範例
如要對預設專案以外的專案執行查詢,請使用下列格式將專案 ID 新增至資料集:
`PROJECT_ID`.INFORMATION_SCHEMA.ROUTINES
`myproject`.INFORMATION_SCHEMA.ROUTINES
。
以下範例會擷取 INFORMATION_SCHEMA.ROUTINES
檢視表的所有資料欄。系統傳回的是預設專案 (myproject
) 中 mydataset
內所有處理常式的中繼資料。資料集 mydataset
包含名為 myroutine1
的常式。
SELECT * FROM mydataset.INFORMATION_SCHEMA.ROUTINES;
結果大致如下:
+------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+ | 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 | | | | | | | | | | | | | | | | | ); | +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+