ソース ファイルの位置の指定 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/qwr1571437338192.ditamap
dita:ditavalPath
ja-JP/qwr1571437338192.ditaval
dita:id
B035-1147
Product Category
Software
Teradata Vantage

CREATE PROCEDURE文には、関数のソース コードの名前とパスを指定するための句があります。

CREATE PROCEDURE句 説明
EXTERNAL 関数ソースがクライアント上の現行ディレクトリまたはデフォルト ディレクトリにあり、それ以外のファイルをインクルードする必要がない場合に、EXTERNAL句を使用します。

ソース名は、CREATE PROCEDUREキーワードの直後の名前です。

クライアント

  • ワークステーション接続の場合、BTEQは、ソース名に適切なファイル拡張子を付加してソース ファイルを検索します。
  • メインフレーム接続の場合、ソース名はDDNAMEファイル名でなければなりません。

サンプルは次のとおりです。

CREATE PROCEDURE GetRegionXSP
  (INOUT region VARCHAR(64))
LANGUAGE C
NO SQL
EXTERNAL
PARAMETER STYLE TD_GENERAL;
EXTERNAL NAME 'string'
'string'には次のものの名前と位置を指定します。
  • 関数のソース(サーバー上のヘッダー ファイル、オブジェクト ファイル、ライブラリ、およびパッケージを含む)
  • 関数のソース(クライアント上のヘッダー ファイルおよびオブジェクト ファイルを含む)

また、'string'を使用してソースやインクルード ファイルを保存しないように指定できます。

クライアント

  • ワークステーション接続の場合、BTEQは、必要に応じて名前にファイル拡張子を付加してファイルを検索します。
  • メインフレーム接続の場合、名前はDDNAMEファイル名でなければなりません。

サンプルは次のとおりです。

CREATE PROCEDURE GetRegionXSP
  (INOUT region VARCHAR(64))
LANGUAGE C
NO SQL
EXTERNAL NAME 'CS!getregion!xspsrc/getregion.c!F!xsp_getregion'
PARAMETER STYLE TD_GENERAL;

構文の説明:

  • 'string'中の!は区切り文字を示します。
  • 'string'中のCはクライアントから入手したソースを示します。
  • 'string'中のSは、後続の2セットの区切り文字の間の情報が、CまたはC++関数ソース ファイルの名前と位置を識別することを示します。
  • 'string'中のgetregionは、サーバーがソースをコンパイルするために使用する名前(ファイル拡張子なし)を示します。
  • 'string'中のxspsrc/getregion.cは、ソース ファイル(getregion.c)の相対パス(xspsrc)を示します。
  • 'string'中のFは、次の区切り文字の後の情報がCまたはC++関数名を識別することを示します。
  • 'string'中のxsp_getregionは、CまたはC++関数名を示します。
EXTERNAL NAME function_name 関数ソースがクライアント上の現行ディレクトリまたはデフォルト ディレクトリにあり、それ以外のファイルをインクルードする必要がない場合に、EXTERNAL NAME function_nameを使用します。

ソース名はfunction_nameと同じです。

クライアント

  • ワークステーション接続の場合、BTEQは、function_nameに適切なファイル拡張子を付加してソース ファイルを検索します。
  • メインフレーム接続の場合、function_nameはDDNAMEファイル名でなければなりません。

以下の例では、function_nameはxsp_getregionです。

CREATE PROCEDURE GetRegionXSP
  (INOUT region VARCHAR(64))
LANGUAGE C
NO SQL
EXTERNAL NAME xsp_getregion
PARAMETER STYLE TD_GENERAL;

CREATE PROCEDUREおよびEXTERNAL句の詳細については、<Teradata Vantage™- SQLデータ定義言語 - 詳細トピック、B035-1184>を参照してください。