カテゴリ:

ユーザー定義関数、外部関数、およびストアドプロシージャ用の DDL

SHOW PROCEDURES

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

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

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

ALTER PROCEDURECREATE PROCEDUREDROP PROCEDURE

構文

SHOW PROCEDURES [ LIKE '<pattern>' ]
                [ IN { ACCOUNT | DATABASE [ <db_name> ] | [ SCHEMA ] [ <schema_name> ] } ]

パラメーター

LIKE 'パターン'

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

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

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
IN ACCOUNT | [ DATABASE ] データベース名 | [ SCHEMA ] スキーマ名

コマンドのスコープを指定します。これは、コマンドが現在/指定されたデータベースまたはスキーマのレコードのみを一覧表示するか、アカウント全体に表示するかを決定します。

DATABASE または SCHEMA キーワードは必須ではありません。データベースまたはスキーマ名のみを指定して、スコープを設定できます。同様に、セッションで現在使用中のデータベースがある場合、データベース名またはスキーマ名は必要ありません。

  • DATABASE または SCHEMA が名前なしで指定され、セッションで現在使用中のデータベースがない場合、パラメーターは出力に影響しません。

  • SCHEMA が名前で指定され、セッションで現在使用中のデータベースがない場合、スキーマ名はデータベース名で完全修飾する 必要があります (例: testdb.testschema)。

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

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

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

使用上の注意

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

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

    10Kを超えるレコードが存在する結果を表示するには、 情報スキーマ で対応するビュー(存在する場合)をクエリします。

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

出力

コマンド出力は、次の列の列プロパティとメタデータを提供します。

説明

created_on

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

name

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

schema_name

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

is_builtin

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

is_aggregate

現在は該当しません。

is_ansi

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

min_num_arguments

引数の最小数。

max_num_arguments

引数の最大数。

arguments

引数と戻り値の型のデータ型。

description

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

catalog_name

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

is_table_function

現在は該当しません。

valid_for_clustering

現在は該当しません。

is_secure

ストアドプロシージャが安全なストアドプロシージャである場合はtrue。それ以外の場合はfalse。

すべての手順を表示:

SHOW PROCEDURES;

この例は、パラメーターを持つストアドプロシージャで 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 | TESTDB       | N                 | N                    | N         |
+-------------------------------+----------------+--------------------+------------+--------------+---------+-------------------+-------------------+------------------------------------+------------------------+--------------+-------------------+----------------------+-----------+

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