以下の例は、さまざまなUDF外部文字列リテラルを示しています。
例1: 外部文字列リテラルの例
以下の例では、ソースをクライアントの絶対ディレクトリUDF Sourceから入手することを指定します。プラットフォーム上のファイル名およびソース ファイル名は、どちらもsales.cです。関数エントリ ポイント名はsales1で、この関数はデバッグ記号を使用してコンパイルを行うことになります。
'CS¡sales¡C:\UDF Source\sales.c¡F¡sales1¡D'
例2: 外部文字列リテラルの例
以下の例の場合、オブジェクトはクライアントから入手することになります。udfdev/imagef.oは、ログオンしているユーザーのホーム ディレトクリーまたは現行クライアント ディレクトリからudfdev/imagef.oへの相対パスです。Teradata Databaseサーバーのファイル名は、img.oです。検索するオブジェクトの名前はimagef.oで、UDFの関数エントリ ポイント名はimg_matchです。
'CO¡img¡/udfdev/imagef.o¡F¡img_match'
例3: 外部文字列リテラルの例
以下の例の場合、UDFで使用するヘッダー ファイルudf_types.hとCソース ファイルstdvar.cは、クライアントに存在します。/headers/udf_types.hはログオンしているユーザーのホーム ディレトクリまたは現行クライアント ディレクトリからヘッダー ファイルへの相対パス、/src/stdvar.cはCソース ファイルへの相対パスです。Cソース コード内の関数名は、stdvarです。どちらのファイルも、プラットフォーム上で同じ名前を持ちます。
'CI¡udf_types¡headers/udf_types.h¡CS:stdvar¡src/stdvar.c¡F¡stdvar'
以下の表に、EXTERNAL NAME句とそのさまざまな構成要素の名前に関する注意点をまとめます。
関数名 | ソース ファイル名 | DBC.TVMの関数名 | C/C++関数名 | 備考 |
---|---|---|---|---|
function_nameのみ | function_name | function_name | function_name | function_nameは、このデータベース内で固有でなければなりません。 同じデータベース内に同じfunction_nameの関数を新規に追加する場合、異なるspecific_function_nameを指定して2つの関数を区別する必要があります。 |
function_nameおよびspecific_function_name | specific_function_name | specific_function_name | specific_function_name | specific_function_nameは、このデータベース内で固有でなければなりません。 |
function_nameおよびexternal_function_name | external_function_name | function_name | function_entry_name | specific_function_nameは、このデータベース内で固有でなければなりません。 同じデータベース内に同じfunction_nameの関数を新規に追加する場合、異なるspecific_function_nameを指定して2つの関数を区別する必要があります。 |
function_nameおよびfunction_entry_name('string'の一部として) | source_name('string'に指定した名前) | function_name | function_entry_name | |
function_nameおよび'string'(ただしfunction_entry_nameは除外) | function_name | function_name | ||
function_name、specific_function_name、およびfunction_entry_name(ただし'string'としてではない) | external_function_name | specific_function_name | external_function_name | specific_function_nameは、このデータベース内で固有でなければなりません。 |
function_name、specific_function_name、およびfunction_entry_name('string'として) | source_name('string'に指定した名前) | function_entry_name(Fオプションを指定した場合) | ||
specific_function_name(Fオプションを指定しない場合) |