8.4.9 executeBatch()
- 〈この項の構成〉
(1) 機能
バッチに登録されたSQL文を実行し,更新行数のint型の配列を返却します。
バッチに登録されているすべてのSQL文を実行したあと,バッチに登録されているSQL文をすべてクリアします。途中でエラーが発生した場合でも,バッチに登録されているSQL文はすべてクリアされます。
更新行数がInteger.MAX_VALUEを超える可能性がある場合は,executeBatchメソッドではなく,executeLargeBatchメソッドを使用してください。executeBatchメソッドを使用した場合に,Integer.MAX_VALUEを超えると0が返却されます。
(2) 形式
public synchronized int[] executeBatch() throws SQLException
(3) 引数
なし。
(4) 戻り値
実行したSQL文ごとの更新行数をint型の配列にして返却します。配列は,バッチに登録されたSQL文の順序になります。バッチにSQL文が1つも登録されていない場合,またはバッチの1つ目のSQL文がエラーだった場合,要素数0の配列が返却されます。
(5) 発生する例外
次に示す場合にSQLExceptionが投入されます。
-
Statementオブジェクトがクローズされている場合
-
Statementオブジェクトを生成したConnectionオブジェクトがクローズされている場合
次に示す場合は,例外BatchUpdateException(SQLExceptionのサブクラス)が投入されます。
-
検索系SQLがバッチで実行された場合
-
データベースのアクセスエラーが発生した場合
-
キャンセルを受け付けた場合