17.10 - Function Parameter List - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL External Routine Programming

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
July 2021
Content Type
Programming Reference
Publication ID
B035-1147-171K
Language
English (United States)

A TD_ANYTYPE parameter type can accept any system-defined data type or UDT; therefore, TD_ANYTYPE arguments are passed in as void *.

Here is an example of how to declare a scalar function that uses TD_ANYTYPE types:

/*****  C source file name: ascii.c  *****/
   
#define SQL_TEXT Latin_Text
#include <sqltypes_td.h>
   
void ascii( void  * inputStr,
            void  * result,
            ... )
{
     ...
}

The corresponding CREATE FUNCTION statement looks like this:

CREATE FUNCTION ascii( str TD_ANYTYPE )
        RETURNS TD_ANYTYPE
        LANGUAGE C
        NO SQL
        SPECIFIC ascii
        EXTERNAL NAME 'CS!ascii!UDFs/ascii.c'
        PARAMETER STYLE SQL;