UDFでは、次の2種類のパラメータ受渡し規則がサポートされています。
パラメータ受渡し規則 | 説明 | 使用方法 |
---|---|---|
パラメータ スタイルSQL | 入力引数としてNULLを渡したり、結果としてNULLを戻す手段を提供します。 |
|
パラメータ スタイルTD_GENERAL | NULL入力引数を受け入れず、NULLの結果を戻すこともありません。 |
|
UDFのコーディングで使用するパラメータ受渡し規則は、そのUDFのためのCREATE FUNCTION文のパラメータ受渡し仕様に対応するものでなければなりません。
CREATE FUNCTION での指定 | 作成する関数 | 関数パラメータに使用する構文 |
---|---|---|
PARAMETER STYLE TD_GENERAL | スカラー関数 | スカラー関数パラメータ スタイルTD_GENERALの構文 |
集約関数 | 集約関数パラメータ スタイルTD_GENERALの構文 | |
PARAMETER STYLE SQLを指定する場合、またはPARAMETER STYLEオプションを指定しない場合 | スカラー関数 | スカラー関数パラメータ スタイルSQLの構文 |
集約関数 | 集約関数パラメータ スタイルSQLの構文 | |
テーブル関数 | テーブル関数の構文 |
Teradata Databaseには、動的なユーザー定義型(UDT)と呼ばれる特別なUDF入力パラメータ データ型があります。UDFを使うと、最多で8つの動的UDT入力パラメータを指定できます。1つの動的なUDTには最大で128の属性を設定できます。その属性のデータ型は実行時に決定されます。
動的なUDTの各属性を入力パラメータとして考えた場合、有効な入力パラメータは次の計算式により1144にまで増加します。
(動的なUDTパラメータ8個×属性128個) + (他のデータ型のパラメータ120個) = 1144 |
動的UDTの使用については、UDT型を使用する関数の定義を参照してください。