非標準インクルード ファイルの指定 - 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

外部ストアド プロシージャに非標準のヘッダー ファイルをインクルードする場合は、CREATE PROCEDURE文のEXTERNAL句に、そのヘッダー ファイルの名前とパスを指定する必要があります。

ヘッダー ファイルrtypes.hをインクルードしている次のような外部ストアド プロシージャがあるとします。

/*****  C source file name: get_r.c  *****/

#define SQL_TEXT Latin_Text
#include <sqltypes_td.h>
#include "rtypes.h"

void xsp_getr( VARCHAR_LATIN *region,
               char           sqlstate[6])
{
     ...
}

以下に、非標準のヘッダー ファイルの名前とパスを指定したCREATE PROCEDUREの例を示します。

CREATE PROCEDURE GetRegionXSP (INOUT region VARCHAR(64))
LANGUAGE C
NO SQL
EXTERNAL NAME
'CI!rtypes!xsp_home/rtypes.h!CS!get_r!xsp_home/get_r.c!F!xsp_getr'
PARAMETER STYLE TD_GENERAL;

説明

EXTERNAL NAMEに続く文字列 指定内容
! 区切り文字。
C ヘッダー ファイルをクライアントから入手する。
I 後続の2セットの区切り文字の間の情報が、インクルード ファイル(.h)の名前と位置を識別する。
rtypes ヘッダー ファイルの名前(ファイル拡張子なし)。
xsp_home/rtypes.h クライアント上のヘッダー ファイルのパスと名前。
C ソースをクライアントから入手する。
S 後続の2セットの区切り文字の間の情報が、CまたはC++関数ソース ファイルの名前と位置を識別する。
get_r サーバーがソースをコンパイルするために使用する名前(ファイル拡張子なし)。
xsp_home/getregion.c ソース ファイルのパスと名前。
F 次の区切り文字の後の情報がCまたはC++関数名を識別する。
xsp_getregion CまたはC++関数名。

ライブラリのインストールの詳細については、<Teradata Vantage™ SQLデータ定義言語 - 詳細トピック、B035-1184>の「CREATE PROCEDURE」を参照してください。