SHOW DATA METRIC FUNCTIONS

アクセス権限のある データメトリック関数 (DMFs)をリストします。

このコマンドを使用して、セッションの現在のデータベースとスキーマ、指定したデータベースまたはスキーマ、またはアカウント全体の DMFs をリストします。

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

CREATE DATA METRIC FUNCTIONALTER FUNCTION (DMF)DESCRIBE FUNCTION (DMF)DROP FUNCTION (DMF)

構文

SHOW DATA METRIC FUNCTIONS
  [ LIKE '<pattern>' ]
  [ IN
      {
        ACCOUNT                  |

        DATABASE                 |
        DATABASE <database_name> |

        SCHEMA                   |
        SCHEMA <schema_name>     |
        <schema_name>
      }
  ]
  [ STARTS WITH '<name_string>' ]
Copy

パラメーター

LIKE 'pattern'

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

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

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

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

[ IN ... ]

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

ACCOUNT

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

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 はデフォルトです(つまり、コマンドは、アカウントで表示する権限を持つオブジェクトを返します)。

STARTS WITH 'name_string'

オプションで、オブジェクト名の先頭に表示される文字に基づいてコマンド出力をフィルタリングします。文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します

たとえば、次の文字列は 異なる 結果を返します。

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. デフォルト: 値なし(フィルターは出力に適用されない)

出力

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

説明

created_on

関数が作成された時のタイムスタンプ。

name

関数の名前。

schema_name

関数が存在するスキーマの名前。(組み込み関数の場合は NULL。)

is_builtin

関数が組み込み関数の場合は Y (はい)。それ以外の場合は N (いいえ)。

is_aggregate

関数が集計関数である場合は Y (はい)。それ以外の場合は N (いいえ)。

is_ansi

関数が ANSI SQL 標準の一部として定義されている場合は Y (はい)。それ以外の場合は N (いいえ)。

min_num_arguments

引数の最小数

max_num_arguments

引数の最大数

arguments

引数と戻り値のデータ型を表示します。

description

関数の説明。

catalog_name

関数が存在するデータベースの名前。(組み込み関数の場合は NULL。)

is_table_function

関数がテーブル関数の場合は Y (はい)。それ以外の場合は N (いいえ)。

valid_for_clustering

関数が CLUSTER BY 式で使用できる場合は Y (はい)。それ以外の場合は N (いいえ)。

is_secure

関数がセキュア関数の場合は Y (はい)。それ以外の場合は N (いいえ)。

is_external_function

関数が外部関数の場合は Y (はい)。それ以外の場合は N (いいえ)。

language

  • 組み込み関数の場合、この列には SQL と表示されます。

  • ユーザー定義関数の場合、この列には関数の記述に使用した言語が表示されます(例: JAVASCRIPT または SQL)。

  • 外部関数の場合、この列には、 EXTERNAL と表示されます。

is_memoizable

関数がメモ化可能な場合はY(はい)。それ以外の場合はN(いいえ)。

is_data_metric

関数が DMF の場合はY(はい)。それ以外の場合はN(いいえ)。

アクセス制御の要件

この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。

権限

オブジェクト

メモ

USAGE

データメトリック関数

スキーマ内の任意のオブジェクトを操作するには、親データベースとスキーマに対する USAGE 権限も必要であることに注意してください。

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

使用上の注意

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

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

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

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

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

次の例は、 governance データベースの dmfs スキーマで、表示権限を持っている DMFs をリストします。

USE SCHEMA governance.dmfs;

SHOW DATA METRIC FUNCTIONS;
Copy
+--------------------------+------------------------+-------------+------------+--------------+---------+-------------------+-------------------+--------------------------------------------------------------------------------------------+-----------------------+--------------+-------------------+----------------------+-----------+----------------------+----------+---------------+----------------+
| 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 | is_external_function | language | is_memoizable | is_data_metric |
+--------------------------+------------------------+-------------+------------+--------------+---------+-------------------+-------------------+--------------------------------------------------------------------------------------------+-----------------------+--------------+-------------------+----------------------+-----------+----------------------+----------+---------------+----------------+
| 2023-12-11T23:30:02.785Z | COUNT_POSITIVE_NUMBERS | DMFS        | N          | N            | N       | 1                 | 1                 | "COUNT_POSITIVE_NUMBERS(TABLE(NUMBER, NUMBER, NUMBER)) RETURNS NUMBER"                     | user-defined function | GOVERNANCE   | N                 | N                    | N         | N                    | SQL      | N             | Y              |
+--------------------------+------------------------+-------------+------------+--------------+---------+-------------------+-------------------+--------------------------------------------------------------------------------------------+-----------------------+--------------+-------------------+----------------------+-----------+----------------------+----------+---------------+----------------+