次の例は、テーブル関数の定義を作成する2つの異なる方法を示しています。関数の動作は同じです。
この例でのJavaメソッド シグネチャのVOID戻り型と戻りパラメータ データ型の使用方法に注意してください。これらは、スカラーUDFと集約UDFとで異なります。このような違いは、テーブルUDFから複数の列値が返される可能性があるため必要です。
CREATE FUNCTION mytableudf ( p1 INTEGER ) RETURNS TABLE (c1 INTEGER, c2 INTEGER) LANGUAGE JAVA NO SQL PARAMETER STYLE JAVA EXTERNAL NAME 'UDF_JAR:UserDefinedFunctions.mytableudf'; public static void mytableudf(int i, int[] ret1, int[] ret2) throws SQLException CREATE FUNCTION mytableudf ( p1 INTEGER ) RETURNS TABLE (c1 INTEGER, c2 INTEGER) LANGUAGE JAVA NO SQL PARAMETER STYLE JAVA EXTERNAL NAME 'UDF_JAR:UserDefinedFunctions.mytableudf(int, int[],int[])'; public static void mytableudf(int i, int[] ret1, int[] ret2) throws SQLException