以下に、SQL INTEGER型のパラメータをJava intプリミティブにマッピングするスカラーUDFのJavaメソッドの実装方法を示すコードの例を示します。このUDFは入力引数にNULLが指定された場合は処理できません。また、戻り値としてNULLを返すこともできません。
public class UDFExample { public static int fact( int x ) { if (x < 0) return 0; int factResult = 1; while (x > 1) { factResult = factResult * x; x = x - 1; } return 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 RETURNS NULL ON NULL INPUT EXTERNAL NAME 'JarUDF:UDFExample.fact';