次のコードは、動的な結果行指定を持つテーブルUDFを実装するメソッドのメソッド シグネチャを示すコードの一部です。
public class UDFExample { ... public static void getStoreData( int store, /* input arg */ java.lang.Object[] c1, /* output arg */ java.lang.Object[] c2, /* output arg */ java.lang.Object[] c3, /* output arg */ java.lang.Object[] c4) /* output arg */ { ... } ... }
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 getStoreData (FileToRead INTEGER) RETURNS TABLE VARYING COLUMNS (4) LANGUAGE Java NO SQL EXTERNAL NAME 'JarUDF:UDFExample.getStoreData' PARAMETER STYLE Java;
以下に、FROM句からテーブル関数を呼び出すINSERT … SELECT文の例を示します。
INSERT INTO Sales_Table SELECT * FROM TABLE (getStoreData(9005) RETURNS (Store INTEGER, Item INTEGER, Quantity INTEGER)) AS tf;