名前とパラメーター配列を指定して SQL ストアード・プロシージャーを実行します。
Execute Stored Procedure 機能ブロックは、データベース・エラーが発生した場合に CwDBSQLException 例外をスローできます。
Execute Stored Procedure 機能ブロックは、指定された storedProcedure への呼び出しを、現行接続に関連付けられているデータベースに送信します。
この機能ブロックは、ストアード・プロシージャー呼び出しを準備済み SQL ステートメントとして送信します。つまり、このストアード・プロシージャー呼び出しは、最初に実行されるときにストリングとしてデータベースに送信されます。データベースでは、このストリングを実行可能形式 (準備済みステートメントと呼ばれる) にコンパイルし、SQL ステートメントを実行して、この準備済みステートメントを Execute Stored Procedure に戻します。次にこの機能ブロックは、準備済みステートメントをメモリー内に保管します。
要確認 |
---|
この機能ブロックによってストアード・プロシージャーを実行する前に、Get Database Connection 機能ブロックによって CwDBConnection オブジェクトを作成する必要があります。 |
ストアード・プロシージャーによって戻されるデータを処理するには、Has More Rows 機能ブロックと Next Row 機能ブロックを使用します。
また、ストアード・プロシージャーに OUT パラメーターが含まれていない かぎり、Execute SQL、Execute SQL with Parameter、Execute Prepared SQL、または Execute Prepared SQL with Parameter の各機能ブロックを使用してそのストアード・プロシージャーを実行できます。ストアード・プロシージャーで OUT パラメーターを使用する場合は、Execute Stored Procedure 機能ブロックを使用してプロシージャーを実行する必要があります。
Execute SQL または Execute Prepared SQL 機能ブロックのグループとは異なり、Execute Stored Procedure 機能ブロックでは、全 SQL ステートメントを渡してストアード・プロシージャーを実行する必要はありません。Execute Stored Procedure の場合は、ストアード・プロシージャーの名前と、CwDBStoredProcedureParam オブジェクトの Vector パラメーター配列のみを渡す必要があります。Execute Stored Procedure 機能ブロックは、storedProcParameters 配列からのパラメーター数を判別し、ストアード・プロシージャーの呼び出しステートメントを作成することができます。
この機能ブロックは、CwDBConnection.executeStoredProcedure() メソッドを基にしています。詳細については、executeStoredProcedure()を参照してください。