INCLUDE
INCLUDE ステートメントは、宣言とステートメントを含むアプリケーション・コードをソース・プログラムに挿入します。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込んで使用します。それ以外の使用法はありません。 このステートメントは、実行可能ステートメントではありません。Java™ または REXX の場合、このステートメントを指定してはいけません。
権限
このステートメントの権限 ID は、メンバーを含むファイルについて、 *OBJOPR および *READ のシステム権限を持つ必要があります。
構文
>>-INCLUDE--+-SQLCA----+--------------------------------------->< +-SQLDA----+ +-name-----+ '-'string'-'
説明
- SQLCA
- SQL 連絡域 (SQLCA) の記述を組み込むことを指定します。プログラムに独立型の SQLCODE または独立型の SQLSTATE を組み込む場合は、INCLUDE SQLCA を指定してはなりません。
SQLCA は、C、C++、COBOL、および PL/I で指定できます。SQLCA を指定しない場合は、変数 SQLCODE または SQLSTATE をプログラム内で使用する必要があります。
INCLUDE SQLCA は、1 つのプログラムで一度しか指定できません。 詳しくは、SQL 診断情報を参照してください。
RPG プログラムでは、SQLCA を指定してはなりません。 RPG プログラムの場合、プリコンパイラーによって自動的に SQLCA が組み込まれます。
SQLCA についての説明は、SQLCA (SQL 連絡域)を参照してください。
- SQLDA
- SQL 記述子域 (SQLDA) の記述を組み込むことを指定します。
INCLUDE SQLDA は、C、C++、COBOL、PL/I、および ILE RPG で指定できます。
SQLDA についての詳細は、SQLDA (SQL 記述子域)を参照してください。
- name
- ソース・プログラムに組み込むメンバーまたはソース・ストリーム・ファイルを識別します。
SRCFILE パラメーターを使用してプリコンパイルを行う場合、これは、CRTSQLxxx コマンドの INCFILE パラメーターで指定されているファイルから組み込むメンバーを識別します。
SRCSTMF パラメーターを使用してプリコンパイルを行う場合、これは、CRTSQLxxx コマンドの INCDIR パラメーターからのパスを使用して組み込むファイルを識別します。 接尾部は、名前に付加されません。
このソースには、いずれかのホスト言語ステートメント、および INCLUDE ステートメント以外の SQL ステートメントを入れることができます。COBOL の場合、DATA DIVISION または PROCEDURE DIVISION 以外で INCLUDE メンバー名 を指定してはなりません。
- 'string'
- CRTSQLxxx コマンドの INCDIR パラメーターからのパスを使用して組み込むファイルを識別します。
ストリングは、標準 SQL ストリング・リテラルとして処理されます。エスケープ文字に対するソース・ストリーム・ファイル規則には従いません。
接尾部は、ストリングに付加されません。
このソースには、いずれかのホスト言語ステートメント、および INCLUDE ステートメント以外の SQL ステートメントを入れることができます。
INCLUDE ステートメントは、プログラムをプリコンパイルすると、ソース・ステートメントに置き換えられます。
このため、プログラムで INCLUDE ステートメントを指定する場合は、 置き換え後のソース・ステートメントがコンパイラーに受け入れられるような場所に置かなければなりません。
注
CCSID に関する考慮事項: SRCFILE または SRCSTMF パラメーターで指定されたファイルの CCSID が INCLUDE ステートメントのソースの CCSID と異なる場合、INCLUDE ソースは、ソース・ファイルの CCSID に変換されます。
例
SQL 記述子域を C プログラムに組み込みます。
EXEC SQL INCLUDE SQLDA;
EXEC SQL DECLARE C1 CURSOR FOR
SELECT DEPTNO, DEPTNAME, MGRNO FROM TDEPT
WHERE ADMRDEPT = 'A00';
EXEC SQL OPEN C1;
while (SQLCODE==0) {
EXEC SQL FETCH C1 INTO :dnum, :dname, :mnum;
/* Print results */
}
EXEC SQL CLOSE C1;