SHOW PROCEDURES¶
アクセスする権限があるストアドプロシージャをリストします。
ストアドプロシージャの詳細については、 ストアドプロシージャの使用 をご参照ください。
- こちらもご参照ください。
ALTER PROCEDURE、 CREATE PROCEDURE、 DROP PROCEDURE、 DESCRIBE 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を超えるレコードが存在する結果を表示するには、 Snowflake Information Schema で対応するビュー(存在する場合)をクエリします。
このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。
出力¶
コマンド出力は、次の列の列プロパティとメタデータを提供します。
| 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 |
列 |
説明 |
---|---|
|
ストアドプロシージャが作成された時のタイムスタンプ。 |
|
ストアドプロシージャの名前。 |
|
ストアドプロシージャが存在するスキーマの名前。 |
|
ストアドプロシージャが(ユーザー定義ではなく)組み込みの場合は |
|
現在は該当しません。 |
|
ストアドプロシージャが ANSI 標準で定義されている場合は |
|
引数の最小数。 |
|
引数の最大数。 |
|
引数と戻り値の型のデータ型。 |
|
ストアドプロシージャの説明。 |
|
ストアドプロシージャが存在するデータベースの名前。 |
|
現在は該当しません。 |
|
現在は該当しません。 |
|
ストアドプロシージャがセキュアストアドプロシージャである場合は |
例¶
すべての手順を表示:
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 | TEMPORARY_DOC_TEST_DB | N | N | N | +-------------------------------+----------------+--------------------+------------+--------------+---------+-------------------+-------------------+------------------------------------+------------------------+-----------------------+-------------------+----------------------+-----------+
出力列は、 SHOW FUNCTIONS および SHOW USER FUNCTIONS の出力列に似ています。ストアドプロシージャの場合、これらの列の一部は現在意味がありません(例: is_aggregate
、 is_table_function
、 valid_for_clustering
)が、将来の使用のために予約されています。