必須のEXTERNAL BODY REFERENCE句では、関数がTeradata Databaseの外部にあることを宣言し、実行に必要なすべてのファイル構成要素の場所を示します。
外部関数名は、オプションです。指定する場合は、CREATE FUNCTIONまたはREPLACE FUNCTIONプロセスの一部として検索およびコンパイルされるクライアント システム上のCまたはC++ソース コードの名前を指定しなければなりません。
すべての関数構成要素の場所を指定するために外部関数名だけでは不十分な場合、それらの各要素へのパスを明示的に指定する文字列リテラルを指定する必要があります。外部文字列リテラルを参照してください。
いずれの場合にも、SQL文から関数を呼び出すときに指定する識別子はfunction_nameです。
- 外部関数名
- パラメータ形式
以下の表では、この句で指定できるオプションをまとめます。
CREATE FUNCTIONに指定する句 | 結果 |
---|---|
EXTERNAL |
クライアントがメインフレーム接続の場合、CまたはC++関数名はソースのDDNAMEでなければなりません。 |
EXTERNAL NAME external_function_name | CまたはC++関数名は、function_nameと一致しなければなりません。 クライアントがメインフレーム接続の場合、function_nameはソースのDDNAMEでなければなりません。 |
EXTERNAL NAME 'string' | 'string'はfunction_entry_nameにFオプションを明示することによって、CまたはC++関数名を指定できます。その名前は、CまたはC++関数名と一致しなくてはなりません。 'string'の最大長は1,000文字です。 インクルード、ライブラリ、オブジェクト、パッケージ、ソースのファイル名も指定しなければ、Fオプションを'string'に指定することはできません。Teradata Databaseは、リンク先ファイル名を1つ以上必要とします。 'string'でfunction_entry_nameを指定しない場合は、以下のルールがC関数名に適用されます。
|
詳細については、<Teradata Vantage™- SQL外部ルーチン プログラミング、B035-1147>を参照してください。
Java外部プロシージャには、これらの指定は使用できません。
関数のパラメータ形式は、この句またはOPTIONAL FUNCTION CHARACTERISTICS句のどちらにも指定できますが、関数のパラメータ形式を指定できるのは定義の中で一度だけです。詳細については、PARAMETER STYLE句を参照してください。