captureStatementBatchSQL プロパティーは、captureMode の値が ON の場合にのみ適用されます。
このプロパティーには、以下の値を指定できます。
そのため、executionMode を STATIC にしてアプリケーションを実行する場合には、allowDynamicSQL が TRUE である場合にのみ、 captureStatementBatchSQL を OFF に設定してください。 この状態では、それぞれの Statement.addBatch() 呼び出しは動的に実行され、SQL ステートメントが pureQueryXML ファイルにあるかどうかを確認する検査は行われません。
ステートメントを取り込む場合には、captureStatementBatchSQL を ON に設定します。 この設定によって、pureQuery は、最大で maxNonParmSQL で設定された限度まで、Statement.addBatch() メソッドが処理したすべてのステートメントを pureQueryXML ファイルに保存します。
SQL ステートメントをバインドした後にアプリケーションを実行する場合には、 executionMode を STATIC に、そして allowDynamicSQL を FALSE に設定します。 バッチ SQL ステートメントを実行するようにアプリケーションが要求するごとに、 pureQuery は、pureQueryXML ファイルでそのステートメントを検索します。 ステートメントが pureQueryXML ファイル内に存在し、バインドされている場合には、pureQuery はそのステートメントを実行します。 ステートメントが pureQueryXML ファイルに存在しないか、ステートメントがバインドされていない場合には、 allowDynamicSQL が FALSE であるため、pureQuery は例外をスローします。
異種の SQL ステートメント・バッチは、上述のタイプのアプリケーションで有益であり、 INSERT、UPDATE、DELETE ステートメントの必要な実行順序が損なわれることなく、ネット・ワーク・トラフィックが削減されます。
アプリケーションのステートメントを取り込む場合には、captureStatementBatchSQL を OFF に設定します。 この設定によって、pureQuery は、Statement.addBatch() メソッドが処理するどの SQL ステートメントも取り込まなくなります。 これらのステートメントはいずれも maxNonParmSQL で設定された限度に対してカウントされません。
他の SQL ステートメントをバインドした後にアプリケーションを実行する場合には、 executionMode を STATIC に、そして allowDynamicSQL を TRUE に設定します。 アプリケーションがバッチ SQL ステートメントを実行するように要求すると、 pureQuery は、そのステートメントを pureQueryXML ファイル内で検索せずに動的に実行します。