UDFExampleクラスにあるget_randomという名前のオーバーロードされた次のJavaメソッドについて見てみましょう。
public class UDFExample { ... public static int get_random( int some_value ) { ... } public static int get_random( java.sql.Date some_value ) { ... } ... }
メソッド名は同じですが、some_valueパラメータのデータ型が異なります。
UDFExampleクラスのJARファイルがUDFExample.jarという名前の場合、以下の文は、UDFExample.jarとUDFExampleクラスをデータベースに登録し、JARファイルに対してJarUDFと呼ばれるSQL識別子を作成します。
CALL SQLJ.INSTALL_JAR('CJ!C:\udfsrc\UDFExample.jar','JarUDF',0);
今度は、UDF_RANという名前のスカラーUDFのオーバーロードを行なう次の関数定義について見てみましょう。
CREATE FUNCTION UDF_RAN(SomeValue INTEGER) RETURNS INTEGER LANGUAGE JAVA NO SQL PARAMETER STYLE JAVA EXTERNAL NAME 'JarUDF:UDFExample.get_random(int)'; CREATE FUNCTION UDF_RAN(SomeValue DATE) RETURNS INTEGER LANGUAGE JAVA NO SQL PARAMETER STYLE JAVA EXTERNAL NAME 'JarUDF:UDFExample.get_random(java.sql.Date)';