Table UDFs are external user-defined C, C++, or Java table functions. Unlike scalar and aggregate UDFs, table UDFs produce row sets as output. SQL queries consume a table UDF's output sets as table expressions.
Scalar and aggregate UDFs can use either the v3 or v4 API, but table UDFs can use only v4.
Declare a table UDF SQL function using the CREATE PROCEDURE statement. Scalar and aggregate UDFs use the CREATE FUNCTION statement.
Table parameterized functions (TPFs) are enhanced table UDFs that accept either scalar values or row sets as input.