外部文字列リテラルの例 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

以下の例は、さまざまな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_namespecific_function_name、およびfunction_entry_name(ただし'string'としてではない) external_function_name specific_function_name external_function_name specific_function_nameは、このデータベース内で固有でなければなりません。
function_namespecific_function_name、およびfunction_entry_name('string'として) source_name('string'に指定した名前) function_entry_name(Fオプションを指定した場合)
specific_function_name(Fオプションを指定しない場合)