外部ストアド プロシージャに非標準のヘッダー ファイルをインクルードする場合は、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」を参照してください。