次の2つのC関数、I_SalesおよびD_Salesがあるとします。
void I_Sales( INTEGER *quantity, INTEGER *result, char sqlstate[6] ) { ... } void D_Sales( DECIMAL8 *quantity, INTEGER *result, char sqlstate[6] ) { ... }
I_SalesのquantityパラメータとD_Salesのquantityパラメータとが異なるため、I_SalesのCREATE FUNCTION文とD_SalesのCREATE FUNCTION文では、同じ名前を使用できます。
関数名Salesをオーバーロードする2つのSQL関数定義を以下に示します。
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;