プライマリ・コンテンツに移動
Pro*C/C++プログラマーズ・ガイド
12c リリース1(12.1)
B71397-03
目次へ移動
目次
索引へ移動
索引

前
次

ANSI動的SQLのプリコンパイラ・オプション

マクロ・オプションのMODEを使用すると、ANSIと互換性のある特性の設定や、多くの機能の制御ができます。値にはANSIまたはORACLEを設定できます。個々の機能には、MODE設定に優先するマイクロ・オプションがあります。MODEも参照してください。

動的SQLでの記述子の動作を指定する場合は、プリコンパイラ・マイクロ・オプションDYNAMICを使用します。ANSIとORACLEのどちらのデータ型を使用するかを指定する場合は、プリコンパイラ・マイクロ・オプションTYPE_CODEを使用します。

マクロ・オプションMODEをANSIに設定すると、マイクロ・オプションDYNAMICは自動的にANSIになります。MODEをORACLEに設定すると、DYNAMICはORACLEになります。

DYNAMICおよびTYPE_CODEはインラインでは使用できません。

次の表に機能とDYNAMICの設定がその機能に与える影響を示します。

表14-2 DYNAMICオプションの設定

機能 DYNAMIC = ANSI DYNAMIC = ORACLE

記述子の作成。

ALLOCATE文を使用する必要があります。

関数SQLSQLDAAlloc()を使用する必要があります。SQLLIBパブリック関数の新しい名前を参照してください。

記述子の破壊。

DEALLOCATE文を使用できます。

関数SQLLDAFree()が使用可能です。SQLLIBパブリック関数の新しい名前を参照してください。

データの取得。

FETCH文およびGET文のどちらも使用できます。

FETCH文のみ使用できます。

入力データの設定。

DESCRIBE INPUT文を使用できます。SET文を使用する必要があります。

コードに記述子値を設定する必要があります。DESCRIBE BIND VARIABLES文を使用する必要があります。

記述子の表現。

引用符付きのリテラル、または記述子名を含むホスト識別子。

ホスト変数、SQLDAを指すポインタ。

利用可能なデータ型。

BITを除くすべてのANSI型、およびすべてのOracle型。

オブジェクト、LOB、構造体の配列およびカーソル変数以外のOracle型。

マイクロ・オプションTYPE_CODEは、プリコンパイラによってマクロ・オプションMODEと同じ値に設定されます。DYNAMICがANSIの場合、TYPE_CODEはANSI以外には設定できません。

TYPE_CODE設定に対応する機能は次のとおりです。

表14-3 TYPE_CODEオプションの設定

機能 TYPE_CODE = ANSI TYPE_CODE = ORACLE

動的SQLからの入出力に使用するデータ型コード番号。

ANSI型があるときはANSIコード番号を使用します。ない場合はOracleコード番号の負の値を使用します。

DYNAMIC = ANSIのときにのみ有効です。

Oracleコード番号を使用します。

DYNAMICの設定に関係なく使用できます。