C/C++関数名 - 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

CまたはC++ソース コードで使用する関数の名前はCの関数命名ルールに従い、さらにTeradata Databaseのオブジェクト命名ルールに従うという制限が適用されます。オブジェクト命名の詳細については、<Teradata Vantage™ SQL基礎、B035-1141>を参照してください。

C++では、関数名がC++オーバーロード名に変換されないようにするために、関数定義の先頭にextern "C"を記述する必要があります。例えば、次のようになります。

extern "C" 
void getregion( VARCHAR_LATIN *region, char sqlstate[6])
{
   ...
}

この関数は、C++で作成されたすべてのモジュールを呼び出すことができます。

CREATE PROCEDURE文またはREPLACE PROCEDURE文を使用して外部ストアド プロシージャをインストールする際には、CまたはC++の関数名を指定します。詳細は、C/C++関数名の指定を参照してください。

Linuxでは、長い名前を使用すると外部ストアド プロシージャのインストール時にエラーが発生することがあります。詳細は、Argument list too longを参照してください。