SHOW PROCEDURES

アクセスする権限があるストアドプロシージャをリストします。

ストアドプロシージャの詳細については、 ストアドプロシージャの使用 をご参照ください。

こちらもご参照ください。

ALTER PROCEDURECREATE PROCEDUREDROP PROCEDUREDESCRIBE PROCEDURE

構文

SHOW PROCEDURES [ LIKE '<pattern>' ]
                [ IN
                     {
                       ACCOUNT                  |

                       CLASS <class_name>       |

                       DATABASE                 |
                       DATABASE <database_name> |

                       SCHEMA                   |
                       SCHEMA <schema_name>     |
                       <schema_name>
                     }
                ]
Copy

パラメーター

LIKE 'pattern'

オプションで、オブジェクト名でコマンド出力をフィルタリングします。フィルターは、 SQL ワイルドカード文字(% および _)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。

たとえば、次のパターンは 同じ 結果を返します。

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. デフォルト: 値なし(フィルタリングは出力に非適用)。

[ IN ... ]

オプションで、コマンドのスコープを指定します。次のいずれかを指定します。

ACCOUNT

アカウント全体の記録を返します。

CLASS class_name

指定したクラス(class_name)の記録を返します。

DATABASE. DATABASE db_name

現在使用中のデータベースまたは指定されたデータベース(db_name)の記録を返します。

db_name なしで DATABASE を指定し、かつデータベースが使用されていない場合、キーワードは出力に影響しません。

SCHEMA. SCHEMA schema_name. schema_name

現在使用中のスキーマまたは指定されたスキーマ(schema_name)の記録を返します。

データベースが使用中の場合、または完全修飾 schema_name (例: db.schema) を指定する場合、 SCHEMA はオプションです。

データベースが使用されていない場合は、 SCHEMA を指定しても出力には影響しません。

デフォルト: セッションで現在使用中のデータベースがあるかどうかによって異なります。

  • データベース: DATABASE がデフォルトです(つまり、コマンドはデータベースで表示する権限を持つオブジェクトを返します)。

  • データベースなし: ACCOUNT はデフォルトです(つまり、コマンドは、アカウントで表示する権限を持つオブジェクトを返します)。

使用上の注意

  • プレフィックス is_ で始まる列は、 Y (はい)または N (いいえ)のいずれかを返します。

  • このコマンドの実行は、稼働中のウェアハウスを必要としません。

  • コマンドは、コマンドを実行するために使用されるロールのアクセス権によって決定された通り、指定されたオブジェクトタイプに対して 最大 10Kの記録を返します。フィルタが適用されていても、10Kの制限を超える記録は返されません。

    10Kを超える記録が存在する結果を表示するには、 Snowflake Information Schema で対応するビュー(存在する場合)をクエリします。

  • このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。

  • CLASS を指定すると、コマンドは次の列のみを返します。

    | name | min_num_arguments | max_num_arguments | arguments | descriptions | language |
    

出力

コマンド出力では、次の列にプロシージャプロパティとメタデータが提供されます。

説明

created_on

ストアドプロシージャが作成された時のタイムスタンプ。

name

ストアドプロシージャの名前。

schema_name

ストアドプロシージャが存在するスキーマの名前。

is_builtin

ストアドプロシージャが(ユーザー定義ではなく)組み込みの場合は Y。それ以外の場合は N

is_aggregate

現在は該当しません。

is_ansi

ストアドプロシージャが ANSI 標準で定義されている場合は Y。それ以外の場合は N

min_num_arguments

引数の最小数。

max_num_arguments

引数の最大数。

arguments

引数と戻り値の型のデータ型。オプションの引数は、 DEFAULT キーワードと合わせて表示されます。

description

ストアドプロシージャの説明。

catalog_name

ストアドプロシージャが存在するデータベースの名前。

is_table_function

ストアドプロシージャが表形式のデータを返す場合は Y。それ以外の場合は N

valid_for_clustering

現在は該当しません。

is_secure

ストアドプロシージャがセキュアストアドプロシージャである場合は Y。それ以外の場合は N

すべての手順を表示:

SHOW PROCEDURES;
Copy

この例は、パラメーターを持つストアドプロシージャで SHOW PROCEDURE を使用する方法を示しています。また、プロシージャのリストを、指定した正規表現に一致するものに制限する方法も示します。

SHOW PROCEDURES LIKE 'area_of_%';
+-------------------------------+----------------+--------------------+------------+--------------+---------+-------------------+-------------------+------------------------------------+------------------------+-----------------------+-------------------+----------------------+-----------+
| created_on                    | name           | schema_name        | is_builtin | is_aggregate | is_ansi | min_num_arguments | max_num_arguments | arguments                          | description            | catalog_name          | is_table_function | valid_for_clustering | is_secure |
|-------------------------------+----------------+--------------------+------------+--------------+---------+-------------------+-------------------+------------------------------------+------------------------+-----------------------+-------------------+----------------------+-----------|
| 1967-06-23 00:00:00.123 -0700 | AREA_OF_CIRCLE | TEMPORARY_DOC_TEST | N          | N            | N       |                 1 |                 1 | AREA_OF_CIRCLE(FLOAT) RETURN FLOAT | user-defined procedure | TEMPORARY_DOC_TEST_DB | N                 | N                    | N         |
+-------------------------------+----------------+--------------------+------------+--------------+---------+-------------------+-------------------+------------------------------------+------------------------+-----------------------+-------------------+----------------------+-----------+
Copy

出力列は、 SHOW FUNCTIONS および SHOW USER FUNCTIONS の出力列に似ています。ストアドプロシージャの場合、これらの列の一部は現在意味がありません(例: is_aggregatevalid_for_clustering)が、将来の使用のために予約されています。