構文
public class class_name {
...
public static void method_name (
[ type input_param [,...] ]
result_type result [,...]
)
{
...
}
...
}
構文要素
- class_name
- Javaクラス名。
- method_name
- Javaメソッド名。
- type
- 入力引数のSQLデータ型に対応するinput_param、Javaプリミティブ、またはクラスのデータ型。
- input_param
- Javaメソッドの入力パラメータ。署名には、CREATE FUNCTION文のパラメータごとにinput_paramが必要です。
- 入力パラメータの数は最大128個です。
- result_type
- 対応するCREATE FUNCTION文のRETURNS句の中で、SQLデータ型に対応するJavaプリミティブまたはクラス。
- テーブルUDFが、固定された結果行指定で定義される場合、result_typeは、CREATE FUNCTION文のRETURNS TABLE句の対応する列のSQLデータ型に一致するJavaプリミティブまたはクラスです。
- テーブルUDFが動的な結果行指定で定義される場合は、関数が呼び出されるまで結果行引数の実際のデータ型は不明であるため、result_typeはjava.lang.Object[]になります。
- result
- 対応するCREATE FUNCTION定義またはREPLACE FUNCTION定義によって決定される行の結果出力パラメータ。
- テーブルUDFが固定結果行指定で定義されている場合、メソッド シグネチャの対応するCREATE FUNCTION定義内のRETURNS TABLE句の各列にはresultが格納されています。
- テーブルUDFが動的結果行指定で定義されている場合、メソッド シグネチャの対応するCREATE FUNCTION定義内のRETURNS TABLE VARYING COLUMNS句には、列の最大数が格納されています。Javaメソッドは実行中にTbl.getColDef()メソッドを呼び出して、実際の結果タイプを取得することができます。
- このメソッドは少なくとも1つの結果行の出力引数を戻さなければなりません。