INCLUDE ステートメント
INCLUDE ステートメントは、宣言をソース・プログラムに挿入します。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込む方法のみ可能です。 これは、実行可能ステートメントではありません。
許可
必要ありません。
構文
説明
- SQLCA
- SQL 連絡域 (SQLCA) の記述を組み込むことを指定します。
- SQLDA
- SQL 記述子域 (SQLDA) の記述を組み込むことを指定します。
- name
- プリコンパイルするソース・プログラムに組み込むテキストが入っている外部ファイルを指定します。 ファイル名拡張子のない SQL ID、または単一引用符で囲んだ (' ') リテラルを指定することができます。 SQL ID は、そのファイル名拡張子として、プリコンパイルするソース・ファイルのファイル名拡張子が想定されます。 引用符で囲んだリテラルにファイル名拡張子の指定がない場合には、拡張子はないものと想定されます。
注
- プログラムをプリコンパイルすると、 INCLUDE ステートメントはソース・ステートメントで置き換えられます。 したがって、ソース・プログラム中での INCLUDE ステートメントの位置は、 展開結果のソース・ステートメントがコンパイラーに受け入れられる位置でなければなりません。
- 外部ソース・ファイルは、name に指定されているホスト言語で作成しなければなりません。 名前が 18 バイトを超える場合、または SQL ID としては使用できない文字が含まれている場合は、 単一引用符で囲む必要があります。 INCLUDE name ステートメントは、ネスト可能ですが、 循環が発生してはなりません (例えば、A と B というモジュールがあり、 A の中に INCLUDE name ステートメントが含まれている場合、 A が B を呼び出し、その B が A を呼び出すようにするのは有効ではありません)。
- LANGLEVEL プリコンパイル・オプションに SQL92E 値が指定されている場合、 INCLUDE SQLCA を指定してはなりません。 SQLSTATE と SQLCODE 変数は、ホスト変数宣言セクションで定義できます。
例
C プログラムに SQLCA を組み込みます。
EXEC SQL INCLUDE SQLCA;
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;