SHOW FUNCTIONS¶
組み込み関数、ユーザー定義関数、外部関数を含む、アクセス権限のあるすべての関数をリストします。
ユーザー定義関数のみをリストするコマンドについては、 SHOW USER FUNCTIONS をご参照ください。
- こちらもご参照ください。
SHOW USER FUNCTIONS , SHOW EXTERNAL FUNCTIONS , SHOW FUNCTIONS IN MODEL , CREATE FUNCTION , DROP FUNCTION , ALTER FUNCTION , DESCRIBE FUNCTION
構文¶
SHOW FUNCTIONS [ LIKE '<pattern>' ]
[ IN
{
ACCOUNT |
CLASS <class_name> |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_name> |
<schema_name>
}
]
パラメーター¶
LIKE 'pattern'
オプションで、オブジェクト名でコマンド出力をフィルタリングします。フィルターは、 SQL ワイルドカード文字(
%
および_
)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。たとえば、次のパターンは 同じ 結果を返します。
... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
. デフォルト: 値なし(フィルタリングは出力に非適用)。
[ IN ... ]
オプションで、コマンドのスコープを指定します。次のいずれかを指定します。
ACCOUNT
アカウント全体の記録を返します。
CLASS class_name
指定したクラス(
class_name
)の記録を返します。DATABASE
、 .DATABASE db_name
現在使用中のデータベースまたは指定されたデータベース(
db_name
)の記録を返します。db_name
なしでDATABASE
を指定し、かつデータベースが使用されていない場合、キーワードは出力に影響しません。注釈
データベースコンテキストで
IN
句を指定せずに SHOW コマンドを使用すると、予想よりも少ない結果になる可能性があります。IN
句を使用しない場合、同じ名前のオブジェクトは一度だけ表示されます。例えば、schema1
にテーブルt1
、そしてschema2
にテーブルt1
があり、両方とも指定したデータベースコンテキストのスコープ内にある場合(つまり、選択したデータベースがschema1
とschema2
の親である場合)の場合、 SHOW TABLES はt1
テーブルの1つのみを表示します。SCHEMA
、 .SCHEMA schema_name
現在使用中のスキーマまたは指定されたスキーマ(
schema_name
)の記録を返します。データベースが使用中の場合、または完全修飾
schema_name
(例:db.schema
) を指定する場合、SCHEMA
はオプションです。データベースが使用されていない場合は、
SCHEMA
を指定しても出力には影響しません。
デフォルト: セッションで現在使用中のデータベースがあるかどうかによって異なります。
データベース:
DATABASE
がデフォルトです(つまり、コマンドはデータベースで表示する権限を持つオブジェクトを返します)。データベースなし:
ACCOUNT
はデフォルトです(つまり、コマンドは、アカウントで表示する権限を持つオブジェクトを返します)。
出力¶
コマンド出力では、次の列に関数プロパティとメタデータが提供されます。
列 |
説明 |
---|---|
|
関数が作成された時のタイムスタンプ。 |
|
関数の名前 |
|
関数が存在するスキーマの名前。組み込み関数の場合は NULL。 |
|
関数が組み込み関数の場合は |
|
関数が集計関数である場合は |
|
関数が ANSI SQL 標準の一部として定義されている場合は |
|
引数の最小数 |
|
引数の最大数 |
|
引数と戻り値のデータ型を表示します。 |
|
関数の説明。 |
|
関数が存在するデータベース名。組み込み関数の場合は NULL。 |
|
関数がテーブル関数の場合は |
|
関数が CLUSTER BY 式で使用できる場合は |
|
関数がセキュア関数の場合は |
|
関数が外部関数の場合は |
|
|
|
関数がメモ化可能な場合は |
|
関数が DMF の場合は |
使用上の注意¶
CLASS
を指定すると、コマンドは次の列のみを返します。| name | min_num_arguments | max_num_arguments | arguments | descriptions | language |
このコマンドの出力には、
SN_TEMP_OBJECT_<n>
(<n>
は数値)のような名前のオブジェクトが含まれる場合があります。これらは、ユーザーの代理として Snowpark ライブラリにより作成される仮オブジェクトです。
このコマンドの実行には、稼働中のウェアハウスは必要ありません。
このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。
MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。
このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。このコマンドの出力をクエリするには、 パイプ演算子 を使用することもできます。
コマンドは、コマンドを実行するために使用されるロールのアクセス権限によって決定された通り、指定されたオブジェクトタイプに対して 最大 1万件の記録を返します。1万件を超える記録は、フィルターを適用しても返されません。
1万件を超える記録が存在する結果を表示するには、 Snowflake Information Schema で対応するビュー(存在する場合)をクエリします。
例¶
すべての関数を表示します。
SHOW FUNCTIONS;
指定された正規表現に一致する関数のみを表示します。
SHOW FUNCTIONS LIKE 'SQUARE';
------------+--------+-------------+------------+--------------+---------+-------------------+-------------------+----------------------------------------------------------------------+------------------------------------------------------------+----------+---------------+----------------+
created_on | name | schema_name | is_builtin | is_aggregate | is_ansi | min_num_arguments | max_num_arguments | arguments | description | language | is_memoizable | is_data_metric |
------------+--------+-------------+------------+--------------+---------+-------------------+-------------------+----------------------------------------------------------------------+------------------------------------------------------------+----------+---------------+----------------+
| SQUARE | | Y | N | Y | 1 | 1 | SQUARE(NUMBER(38,0)) RETURN NUMBER(38,0), SQUARE(FLOAT) RETURN FLOAT | Compute the square of the input expression. | SQL | N | N |
------------+--------+-------------+------------+--------------+---------+-------------------+-------------------+----------------------------------------------------------------------+------------------------------------------------------------+----------+---------------+----------------+