非標準インクルード ファイルの指定 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/rin1593638965306.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.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に関する情報を参照してください。