Teradata Databaseは、以下の3つの型のJava UDFをサポートします。
Java UDFの型 | 説明 |
---|---|
スカラー | スカラー関数は、入力引数を取り、結果として単一の値を戻します。例えば、SQLの標準スカラー関数には、CHARACTER_LENGTH、POSITION、およびSUBSTRINGなどがあります。 スカラー関数は、式の中で列名を使用する場所で使用できます。Teradata Databaseによってその式が評価される際に、そのスカラー関数が呼び出されます。関数の実行完了後、コンテキストは何も保持されません。 |
集約 | 集約関数は、サマリー結果を生成します。スカラー関数と違って集約関数は、リレーショナル データのいくつかのグループを取り、各グループごとに処理を実行し、グループごとに1つずつ結果を戻します。例えば、SQLの標準の集約関数には、AVG、SUM、MAX、およびMINなどがあります。 Teradata Databaseはグループ内の項目ごとに1回ずつ、そのグループの詳細値を入力引数として集約関数を呼び出します。サマリー情報を累積していくため、集約関数では、呼び出しごとにコンテキストが保持されます。 グループの作成方法や、集約UDFのコーディングでのグループの処理方法についての知識は不要です。それらは、Teradata Databaseによって自動的に処理されます。必要なのは、渡されるデータを組み合わせて、希望する結果を得るための基本的なアルゴリズムを記述することだけです。 |
テーブル | テーブル関数は、SQL SELECT文のFROM句で呼び出され、SELECT文への1回のループごとに1行ずつテーブルを戻します。この関数は、渡された入力引数、または外部ファイルあるいはメッセージ キューの読み取りに基づいて、テーブルの行を生成できます。 テーブル関数が戻す行の列数は、テーブル関数を呼び出すSELECT文で、実行時に動的に指定することができます。 |