ROUTINES ビュー
INFORMATION_SCHEMA.ROUTINES
ビューには、データセット内のルーティンごとに 1 行が表示されます。
必要な権限
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
ビューにクエリを実行すると、クエリの結果として、データセット内の各ルーティンが 1 行で返されます。
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 ユーザー定義関数である場合。または、
NULL - ルーティンが SQL で定義されている場合。 |
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 | | | | | | | | | | | | | | | | | ); | +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+