動的な準備と実行

アプリケーション・プログラムは、変数に入れられた文字ストリングの形式で動的に SQL ステートメントを構築することができます。 通常、ステートメントは、プログラムで使用できるデータ (例えば、ワークステーションからの入力) から構築されます。

このようなステートメントは、(組み込まれた) ステートメント PREPARE を使用して実行の準備を行うことができ、(組み込まれた) ステートメント EXECUTE によって実行することができます。 代わりに、(組み込まれた) ステートメント EXECUTE IMMEDIATE を使用して、1 つのステップでステートメントの準備と実行を行うことができます。 Java™ では、Statement、PreparedStatement、 および CallableStatement クラスによってステートメントの実行の準備を行い、 それぞれの execute() メソッドによって実行することができます。

動的に準備するステートメントにホスト変数への参照を組み込むことはできません。その代わりに、パラメーター・マーカーをそのステートメントに組み込むことができます。パラメーター・マーカーに関する規則については、PREPAREを参照してください。 準備されたステートメントが実行されると、パラメーター・マーカーは、EXECUTE ステートメントで指定された変数の現行値によって事実上置き換えられます。 この置き換えに関する規則については、EXECUTEを参照してください。準備済みのステートメントは、変数の異なる値を使用して、何回でも実行することができます。 EXECUTE IMMEDIATE では、パラメーター・マーカーを使用することはできません。

C、COBOL、PL/I、REXX、および RPG では、ステートメントが正常に実行されたか否かは、 その EXECUTE (または EXECUTE IMMEDIATE) ステートメントの実行後に、 独立型 SQLCODE または SQLSTATE に戻される値によって示されます。 この SQL 戻りコードは、組み込みステートメントに関する上記の説明に従って検査してください。 詳細については、SQL 診断情報の節を参照してください。 Java では、ステートメントの実行の成否は、Java 例外によって処理されます。