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