Oracleプリコンパイルを使用すると、複数のホスト・プログラム・モジュールを別々にプリコンパイルし、それらをリンクして1つの実行可能プログラムを作成できます。これにより、プログラムの機能コンポーネントの作成とデバッグを複数のプログラマが分担して行う場合に必要とされる、モジュラー・プログラミングが可能になります。個々のプログラム・モジュールを同じ言語で記述する必要はありません。
次のガイドラインは、いくつかの一般的な問題を回避するのに役立ちます。
カーソルの参照
カーソル名はSQL識別子であり、その有効範囲はプリコンパイル・ユニットです。このため、カーソルの動作が複数のプリコンパイル・ユニット(ファイル)にまたがることはありません。つまり、あるファイルで宣言したカーソルを、別のファイルからオープンまたはフェッチできません。したがって、分割プリコンパイルを実行するときは、指定のカーソルに対する定義と参照がすべて1つのファイルに記述されているか確認してください。
MAXOPENCURSORSの指定
Oracleに接続するプログラム・モジュールをプリコンパイルするときは、MAXOPENCURSORSに、どのプログラム・モジュールについても十分な大きさの値を指定してください。指定したMAXOPENCURSORSの値は、別のプログラム・モジュールに使用すると無視されます。実行時には、接続に有効な値のみが使用されます。
単一のSQLCAの使用
使用するSQLCAが1つのみの場合は、1つのプログラム・モジュールでそのSQLCAをグローバルに宣言する必要があります。
1つの明示カーソルの参照はすべて、同じプログラム・ファイル内にあることが必要です。別のモジュールでDECLAREされたカーソルの操作はできません。カーソルの詳細は、「埋込みSQLの使用方法」 を参照してください。