Dynamic Result Row Specification - Advanced SQL Engine - Teradata Database

SQL External Routine Programming

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
July 2021
Language
English (United States)
Last Update
2021-07-27
dita:mapPath
rin1593638965306.ditamap
dita:ditavalPath
rin1593638965306.ditaval
dita:id
B035-1147
lifecycle
previous
Product Category
Teradata Vantageā„¢

If the CREATE FUNCTION or REPLACE FUNCTION statement specifies a RETURNS TABLE VARYING COLUMNS clause, then the table function is said to have a dynamic result row specification. The number of result parameters in the table function parameter list matches the maximum number of columns in the RETURNS TABLE VARYING COLUMNS clause of the CREATE FUNCTION or REPLACE FUNCTION statement.

The actual number and data types of the result parameters that the table function needs to return values in is specified dynamically at runtime in the SELECT statement that invokes the table function.

Here is an example of a CREATE FUNCTION statement for a table function with a dynamic result row specification:

CREATE FUNCTION getStoreData
  (FileToRead INTEGER)
RETURNS TABLE VARYING COLUMNS (10)
LANGUAGE C
NO SQL
EXTERNAL NAME 'CS!getdata!udfsrc/gs2.c'
PARAMETER STYLE SQL;

In this example, the number of result parameters in the table function parameter list is 10.