動的な準備と実行
アプリケーション・プログラムでは、 ホスト変数に入った文字ストリングの形式の SQL ステートメントを動的に構築することができます。
一般にステートメントは、 プログラムが入手可能な何らかのデータから構築されます (例えば、 ワークステーションからの入力)。 構成されたステートメント (select ステートメントではない) は、 (組み込み) PREPARE ステートメントによって準備され、 (組み込み) EXECUTE ステートメントによって実行することができます。 あるいは、(組み込み) EXECUTE IMMEDIATE ステートメントを使用して、 1 つのステップでステートメントを準備して実行することもできます。
動的に準備されるステートメントには、ホスト変数への参照が含まれていてはなりません。 パラメーター・マーカーは含めることができます。 (パラメーター・マーカーの規則に関しては、『PREPARE』を参照してください。) 準備済みのステートメントが実行される時点で、パラメーター・マーカーは、 実際には EXECUTE ステートメントで指定されたホスト変数の現行値に置き換えられます。 一度準備したステートメントは、ホスト変数の他の値を用いて何回も実行することができます。 パラメーター・マーカーは、EXECUTE IMMEDIATE ステートメントでは使用できません。
ステートメントが正しく実行されたか否かは、 EXECUTE (または EXECUTE IMMEDIATE) ステートメントの実行後の SQLCA への SQL 戻りコードの設定値によって示されます。 前述のように、SQL 戻りコードを検査する必要があります。 詳しくは、ホスト言語アプリケーションでのエラー条件と警告条件の検出と処理を参照してください。