8.4.8 execute(String sql)
- 〈この項の構成〉
(1) 機能
SQL文を実行します。ResultSetオブジェクトや更新行数をgetResultSetメソッドおよびgetUpdateCountメソッド(またはgetLargeUpdateCountメソッド)で取得できます。
実行したSQL文の種類とgetResultSetメソッドおよびgetUpdateCountメソッド(またはgetLargeUpdateCountメソッド)の戻り値の関係を次の表に示します。
実行したSQL文の種類 |
getResultSetメソッドの戻り値 |
getUpdateCountメソッドまたはgetLargeUpdateCountメソッドの戻り値 |
---|---|---|
検索系SQLの場合 |
実行結果のResultSetオブジェクト |
-1 |
検索系SQL以外のSQLの場合 |
null |
0以上の値※ |
SQLの実行がエラーになった場合 |
null |
-1 |
- 注※
-
更新行数がInteger.MAX_VALUEを超える可能性がある場合は,getUpdateCountメソッドではなく,getLargeUpdateCountメソッドを使用してください。getUpdateCountメソッドを使用した場合に,Integer.MAX_VALUEを超えると0が返却されます。
- メモ
-
検索系SQLとはSELECT文のことです。また,検索系SQL以外のSQLとは,UPDATE文などの更新系SQLのほかに,CREATE TABLEなどの定義系SQLも含んでいます。
更新系SQLとは,INSERT文,UPDATE文,DELETE文,PURGE CHUNK文,およびTRUNCATE TABLE文のことです。
(2) 形式
public synchronized boolean execute(String sql) throws SQLException
(3) 引数
- String sql:
-
実行するSQL文を指定します。
(4) 戻り値
実行したSQL文が検索系SQLの場合はtrueが,そうでない場合はfalseが返却されます。
(5) 発生する例外
次に示す場合にSQLExceptionが投入されます。
-
Statementオブジェクトがクローズされている場合
-
Statementオブジェクトを生成したConnectionオブジェクトがクローズされている場合
-
sqlにnullまたは長さ0の文字列を指定した場合
-
データベースのアクセスエラーが発生した場合
-
指定されたSQL文の長さが,16,000,000文字を超えている場合