Here is an example of how to declare a scalar function that uses parameter style SQL:
/***** C source file name: substr.c *****/ #define SQL_TEXT Latin_Text #include <sqltypes_td.h> #include <string.h> void udf_scalar_substr( VARCHAR_LATIN *inputString, INTEGER *start, VARCHAR_LATIN *result, int *inputStringIsNull, int *startIsNull, int *resultIsNull, char sqlstate[6], SQL_TEXT extname[129], SQL_TEXT specific_name[129], SQL_TEXT error_message[257] ) { ... }
For a complete example of the scalar function, see Example: Basic Scalar Function.
The corresponding CREATE FUNCTION statement looks like this:
CREATE FUNCTION udfSubStr (strexp VARCHAR(512), n1 INTEGER) RETURNS VARCHAR(512) LANGUAGE C NO SQL EXTERNAL NAME 'CS!substr!udfsrc/substr.c!F!udf_scalar_substr' PARAMETER STYLE SQL;