「日常安排」檢視畫面

INFORMATION_SCHEMA.ROUTINES 檢視表中的每個資料列,代表資料集中的一個常式。

所需權限

如要查詢 INFORMATION_SCHEMA.ROUTINES 檢視畫面,您必須具備下列 Identity and Access Management (IAM) 權限:

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

下列每個預先定義的 IAM 角色都包含取得例行中繼資料所需的權限:

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

如要進一步瞭解 BigQuery 權限,請參閱「使用 IAM 控管存取權」。

結構定義

查詢 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 處理常式類型:
  • FUNCTION:BigQuery 永久性使用者定義函式
  • PROCEDURE:BigQuery 預存程序
  • TABLE FUNCTION:BigQuery 資料表函式。
data_type STRING 處理常式傳回的資料類型。如果處理常式是已儲存程序,則為 NULL
routine_body STRING 處理常式主體的定義方式,如果處理常式是 JavaScript 使用者定義函式,則為 SQLEXTERNAL
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 FUNCTIONCREATE PROCEDURE
connection STRING 處理常式的連線名稱 (如有)。否則 NULL

為確保穩定性,建議您在資訊結構定義查詢中明確列出資料欄,而非使用萬用字元 (SELECT *)。明確列出資料欄可避免基礎結構定義變更時,查詢中斷。

範圍和語法

對這個檢視表執行的查詢必須包含資料集或區域限定詞。詳情請參閱「語法」。下表說明這個檢視畫面的區域和資源範圍:

檢視表名稱 資源範圍 區域範圍
[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                                                     |
|                  |                 |               |                 |                |              |              |           |              |                    |                   |                  |               |                             |                             | );                                                        |
+------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+