インライン・メソッドでの SQL CALL ステートメントのサポート

Data インターフェースで多重定義された call() メソッドを使用して、データベースにデプロイされているストアード・プロシージャーを呼び出すことができます。

CALL ステートメントの実行が許可されている Data インターフェースの他のメソッドは updateMany() メソッドのみです。しかし、このメソッドは OUT および INOUT パラメーターを戻すことをサポートしていません。また、ResultSet オブジェクトを戻すこともサポートしていません。

Data インターフェースのメソッドでサポートされる他の SQL ステートメントとは異なり、CALL ステートメントは ININOUT、および OUT パラメーターを受け入れることができます。一部のデータベース管理システムは、CALL ステートメントから更新カウントを戻すことをサポートしています。ただし、これは SQL 標準では許可されず、pureQuery でも直接サポートされていません。(ただし、CallHandlerWithParameters を使用する場合、更新カウントを取得できます。) 最終的に、CALL ステートメントは、照会結果を戻さないか、1 つの照会結果を戻すか、あるいは複数の照会結果を戻すことができます。

SQL ストアード・プロシージャーがゼロ以上多数の照会結果を戻せるため、CallHandlerWithParameters インターフェースを使用して、結果を処理するためのカスタム・メソッドを作成したり、結果を処理するための定義済みメソッドが含まれる StoredProcedureResult インターフェースを使用したりすることができます。

データベースおよび JDBC ドライバーに CALL ステートメントから更新カウントを戻すサポートがある場合、それらを取り出すようにカスタム CallHandlerWithParameters インターフェースをコーディングする必要があります。

Data インターフェースの call() メソッドの戻りの型は以下のとおりです。


フィードバック