以下に、SQL INTEGER型のパラメータをjava.lang.IntegerクラスにマッピングするUDFのJavaメソッドの実装方法を示すコードの例を示します。このメソッドは入力引数に指定されたNULL値と戻り値のNULL値を処理できます。
public class UDFExample { public static Integer fact( Integer x ) { if (x == null) return null; int x_t = x.intValue(); if (x_t < 0) return new Integer(0); int factResult = 1; while (x_t > 1) { factResult = factResult * x_t; x_t = x_t - 1; } return new Integer(factResult); } ... }
UDFExampleクラスのJARファイルがUDFExample.jarという名前の場合、以下の文は、UDFExample.jarとUDFExampleクラスをデータベースに登録し、JARファイルに対してJarUDFと呼ばれるSQL識別子を作成します。
CALL SQLJ.INSTALL_JAR('CJ!udfsrc/UDFExample.jar','JarUDF',0);
UDFを定義するための対応するCREATE FUNCTION文は、以下のようになります。
CREATE FUNCTION factorial (x INTEGER) RETURNS INTEGER LANGUAGE JAVA NO SQL PARAMETER STYLE JAVA CALLED ON NULL INPUT EXTERNAL NAME 'JarUDF:UDFExample.fact(java.lang.Integer) returns java.lang.Integer';