プロシージャの実行
ODBC は、プロシージャを実行するための標準のエスケープ シーケンスを定義します。 このシーケンスの構文とそれを使用するコード例については、「プロシージャ呼び出し」を参照してください。
プロシージャを実行するために、アプリは次のアクションを実行します。
任意のパラメーターの値を設定します。 詳細については、このセクションの後にある「ステートメント パラメーター」を参照してください。
SQLExecDirect プロシージャを実行する SQL ステートメントを含む文字列を渡します。 このステートメントでは、ODBC または DBMS 固有の構文で定義されたエスケープ シーケンスを使用できます。DBMS 固有の構文を使用するステートメントは相互運用できません。
SQLExecDirect が呼び出されると、ドライバーは次のようになります。
現在のパラメーター値を取得し、必要に応じて変換します。 詳細については、このセクションの後にある「ステートメント パラメーター」を参照してください。
データ ソース内のプロシージャを呼び出し、変換されたパラメーター値を送信します。 ドライバーがプロシージャを呼び出す方法は、ドライバー固有です。 たとえば、SQL ステートメントを変更してデータ ソースの SQL 文法を使用し、このステートメントを実行のために送信したり、DBMS のデータ ストリーム プロトコルで定義されているリモート プロシージャ 呼び出し (RPC) メカニズムを使用してプロシージャを直接呼び出したりする場合があります。
プロシージャが成功したと仮定して、入力/出力パラメーター、出力パラメーター、またはプロシージャの戻り値の値を返します。 これらの値は、プロシージャによって生成された他のすべての結果 (行数と結果セット) が処理されるまで使用できない場合があります。 プロシージャが失敗した場合、ドライバーはエラーを返します。