DESCRIBE FUNCTION (DMF)¶
指定されたデータメトリック関数(DMF)について、署名(引数)、戻り値、言語、本文(定義)を含めて記述します。
構文¶
{ DESC | DESCRIBE } FUNCTION [ IF EXISTS ] <name>(
TABLE( <arg_data_type> [ , ... ] ) [ , TABLE( <arg_data_type> [ , ... ] ) ]
)
パラメーター¶
name関数の識別子を説明するために指定します。
識別子にスペースまたは特殊文字が含まれる場合は、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
詳細については、 識別子の要件 をご参照ください。
TABLE( arg_data_type [ , ... ] ) [ , TABLE( arg_data_type [ , ... ] ) ]DMF の列引数のデータ型を指定します。データ型が必要なのは、 DMFs が名前のオーバーロード(つまり、同じスキーマの2つの DMFs が同じ名前を持つことができる)をサポートしており、引数のデータ型は、説明する DMF を識別するために使用されるからです。
アクセス制御の要件¶
この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
注意 |
|---|---|---|
USAGE |
データメトリック関数 |
スキーマ内のオブジェクトを操作するには、親データベースの少なくとも1つの権限と、親スキーマの少なくとも1つの権限が必要です。
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
このコマンドの出力を後処理するには、 パイプ演算子 (
->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。たとえば、パイプ演算子または RESULT_SCAN 関数を使用して、 SHOW コマンド出力から特定の列を選択したり、行をフィルター処理したりできます。
出力列を参照する場合は、列名に 二重引用符で囲まれた識別子 を使用します。たとえば、出力列
typeを選択するには、SELECT "type"を指定します。SHOW コマンドの出力列名は小文字のため、二重引用符で囲まれた識別子を使用する必要があります。二重引用符により、 SELECT リストまたは WHERE 句内の列名が、スキャンされた SHOW コマンド出力内の列名と一致することが保証されます。
例¶
プロパティを表示するには、DMFを記述します。
DESC FUNCTION governance.dmfs.count_positive_numbers(
TABLE(
NUMBER, NUMBER, NUMBER
)
);
+-----------+---------------------------------------------------------------------+
| property | value |
+-----------+---------------------------------------------------------------------+
| signature | (ARG_T TABLE(ARG_C1 NUMBER, ARG_C2 NUMBER, ARG_C3 NUMBER)) |
| returns | NUMBER(38,0) |
| language | SQL |
| body | SELECT COUNT(*) FROM arg_t WHERE arg_c1>0 AND arg_c2>0 AND arg_c3>0 |
+-----------+---------------------------------------------------------------------+