EXECSQL-FLAG

DB2 プリプロセッサと DB2 コプロセッサには、EXEC SQL 処理に関して特定の違いがあることが知られています。そのため、一部の EXEC 文は一方には受け入れられますが、もう一方には受け入れられません。

この指令は、構文報告が DB2 プリプロセッサの報告をエミュレートするか、DB2 コプロセッサの報告をエミュレートするか、または両方のすべての構文バリエーションを許可するかを定義します。

構文:

>>-.---.---.-EXECSQL-FLAG-.------------.--.---><
   +-/-+   |              +-"argument"-+  |
           +-NOEXECSQL-FLAG---------------+

パラメーター:

argument
次のいずれかになります。
preprocessor
プリプロセッサの構文エラー報告をエミュレートします。
coprocessor
コプロセッサの構文エラー報告をエミュレートします。

プロパティ:

デフォルト: NOEXECSQL-FLAG
段階: 構文チェック
$SET: 任意

説明:

確認されている違いは次のとおりです。

  • EXEC 文が A 領域で有効かどうか。EXECSQL-FLAG"COPROCESSOR" が設定されている場合に許可されます。
  • END-EXEC の後に続くテキストがエラーになるか無視されるかどうか。EXECSQL-FLAG"PREPROCESSOR" が設定されている場合に許可されます。
  • EXEC SQL INCLUDE ..END-EXEC の後のピリオドが必須かどうか。EXECSQL-FLAG"PREPROCESSOR" が設定されている場合に許可されます。

デフォルト値 (NOEXECSQL-FLAG) では、構文報告は生成されません。つまり、プリプロセッサとコプロセッサの両方の構文バリエーションが許可されます。