動的 SQL 文の実行

EXECUTE 文は、準備された特定の SQL 文を実行します。

注:

結果を返さない文に限り、この方法で実行できます。

PREPARE 文で定義した文にパラメーター マーカーが含まれている場合は、EXECUTE 文で using :hvar オプションを使用し、ホスト変数名を記述してパラメーターを指定するか、または、using descriptor :sqlda_struct オプションを使用し、アプリケーションによって値が既に格納されている SQLDA データ構造体を識別する必要があります。PREPARE 文で定義した文に含まれるパラメーター マーカー数は、SQLDATA エントリのメンバー数 (using descriptor :sqlda) またはホスト変数 (using :hvar) の数と一致する必要があります。

     move "INSERT INTO publishers " &
               "VALUES (?,?,?,?)" to stmtbuf
     EXEC SQL
         PREPARE stmt1 FROM :stmtbuf
     END-EXEC
      ...
     EXEC SQL
         EXECUTE stmt1 USING :pubid,:pubname,:city,:state
     END-EXEC.

この例では、4 つのパラメーター マーカーは、EXECUTE 文の USING 句から提供されたホスト変数の内容に置き換えられます。