例: DISTINCTパラメータ データ型を持つオーバーロード関数 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQL外部ルーチン プログラミング

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/uhh1512082756414.ditamap
dita:ditavalPath
ja-JP/uhh1512082756414.ditaval
dita:id
B035-1147
Product Category
Software
Teradata Vantage

次の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;