Consider the following C functions I_Sales and D_Sales:
void I_Sales( INTEGER *quantity,
INTEGER *result,
char sqlstate[6] )
{
...
}
void D_Sales( DECIMAL8 *quantity,
INTEGER *result,
char sqlstate[6] )
{
...
}
The name you use in the CREATE FUNCTION statement for I_Sales can be the same name you use in the CREATE FUNCTION statement for D_Sales, because the data type of the quantity parameter for I_Sales is distinct from the data type of the quantity parameter for D_Sales.
Here are two SQL function definitions that overload the function name Sales:
CREATE FUNCTION Sales(Quantity DECIMAL(15,6)) RETURNS INTEGER SPECIFIC D_Sales LANGUAGE C NO SQL PARAMETER STYLE TD_GENERAL EXTERNAL; CREATE FUNCTION Sales(Quantity INTEGER) RETURNS INTEGER SPECIFIC I_Sales LANGUAGE C NO SQL PARAMETER STYLE TD_GENERAL EXTERNAL;