Example: Java Table UDF - Analytics Database - Teradata Vantage

SQL Data Definition Language Syntax and Examples

Deployment
VantageCloud
VantageCore
Edition
Enterprise
IntelliFlex
VMware
Product
Analytics Database
Teradata Vantage
Release Number
17.20
Published
June 2022
Language
English (United States)
Last Update
2024-10-04
dita:mapPath
jco1628111346878.ditamap
dita:ditavalPath
qkf1628213546010.ditaval
dita:id
mdr1472255012272
lifecycle
latest
Product Category
Teradata Vantage™

The following example shows two different ways to create a definition for a table function. The functions behave identically.

Note the void return type and usage of return parameter types for the Java method signature in this example, which is different from that of scalar and aggregate UDFs. The difference is necessary because of the possibility of multiple returned column values from the table 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