public interface Statement extends Wrapper, AutoCloseable
静的SQL文を実行し、作成された結果を返すために使用されるオブジェクトです。
デフォルトでは、Statement
オブジェクトごとに、同時に開くことができるResultSet
オブジェクトは1つだけです。したがって、1つのResultSet
オブジェクトの読込みが、別の読込みにより割り込まれると、各々は異なったStatement
オブジェクトによって生成されたことになります。Statement
インタフェースのすべての実行メソッドは、文の現在のResultSet
オブジェクトでオープンされているものが存在すれば、それを暗黙にクローズします。
修飾子と型 | フィールドと説明 |
---|---|
static int |
CLOSE_ALL_RESULTS
getMoreResults が呼び出されたときに、直前までオープンされていたすべてのResultSet オブジェクトがクローズされることを示す定数です。 |
static int |
CLOSE_CURRENT_RESULT
getMoreResults が呼び出されたときに、現在のResultSet オブジェクトがクローズされることを示す定数です。 |
static int |
EXECUTE_FAILED
バッチ文の実行中にエラーが発生したことを示す定数です。
|
static int |
KEEP_CURRENT_RESULT
getMoreResults が呼び出されたときに、現在のResultSet オブジェクトがクローズされないことを示す定数です。 |
static int |
NO_GENERATED_KEYS
生成されたキーを検索可能にしないことを示す定数です。
|
static int |
RETURN_GENERATED_KEYS
生成されたキーを検索可能にすることを示す定数です。
|
static int |
SUCCESS_NO_INFO
バッチ文が正常に実行されたが、影響を受けた行数が不明なことを示す定数です。
|
修飾子と型 | メソッドと説明 |
---|---|
void |
addBatch(String sql)
この
Statement オブジェクトの現在のコマンドのリストに、指定されたSQLコマンドを追加します。 |
void |
cancel()
DBMSおよびドライバの両方がSQL文の終了をサポートする場合に、この
Statement オブジェクトを取り消します。 |
void |
clearBatch()
この
Statement オブジェクトの現在のSQLコマンド・リストを空にします。 |
void |
clearWarnings()
この
Statement オブジェクトに関して報告されたすべての警告をクリアします。 |
void |
close()
自動的にクローズされるときに
Statement オブジェクトのデータベースとJDBCリソースが解放されるのを待つのではなく、ただちにそれらを解放します。 |
void |
closeOnCompletion()
このStatementに依存するすべての結果セットがクローズされたときにこの
Statement がクローズされることを示します。 |
boolean |
execute(String sql)
複数の結果を返す可能性のある指定されたSQL文を実行します。
|
boolean |
execute(String sql, int autoGeneratedKeys)
複数の結果を返す可能性のある指定されたSQL文を実行し、すべての自動生成キーを検索可能にするかどうかについてドライバに通知します。
|
boolean |
execute(String sql, int[] columnIndexes)
複数の結果を返す可能性のある指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。
|
boolean |
execute(String sql, String[] columnNames)
複数の結果を返す可能性のある指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。
|
int[] |
executeBatch()
コマンドのバッチをデータベースに送信して実行し、すべてのコマンドが正常に実行されると、更新カウントの配列を返します。
|
default long[] |
executeLargeBatch()
コマンドのバッチをデータベースに送信して実行し、すべてのコマンドが正常に実行されると、更新カウントの配列を返します。
|
default long |
executeLargeUpdate(String sql)
指定されたSQL文を実行します。SQL文は、
INSERT 文、UPDATE 文、DELETE 文、またはSQL DDL文のような何も返さないSQL文の場合があります。 |
default long |
executeLargeUpdate(String sql, int autoGeneratedKeys)
指定されたSQL文を実行し、この
Statement オブジェクトによって生成された自動生成キーを検索可能にするかどうかについて指定されたフラグでドライバに通知します。 |
default long |
executeLargeUpdate(String sql, int[] columnIndexes)
指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。
|
default long |
executeLargeUpdate(String sql, String[] columnNames)
指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。
|
ResultSet |
executeQuery(String sql)
単一の
ResultSet オブジェクトを返す、指定されたSQL文を実行します。 |
int |
executeUpdate(String sql)
指定されたSQL文を実行します。SQL文は、
INSERT 文、UPDATE 文、DELETE 文、またはSQL DDL文のような何も返さないSQL文の場合があります。 |
int |
executeUpdate(String sql, int autoGeneratedKeys)
指定されたSQL文を実行し、この
Statement オブジェクトによって生成された自動生成キーを検索可能にするかどうかについて指定されたフラグでドライバに通知します。 |
int |
executeUpdate(String sql, int[] columnIndexes)
指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。
|
int |
executeUpdate(String sql, String[] columnNames)
指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。
|
Connection |
getConnection()
この
Statement オブジェクトを生成したConnection オブジェクトを取得します。 |
int |
getFetchDirection()
この
Statement オブジェクトから生成された結果セットのデフォルトである、データベース表から行をフェッチする方向を取得します。 |
int |
getFetchSize()
この
Statement オブジェクトから生成されたResultSet オブジェクトのデフォルトのフェッチ・サイズである、結果セットの行数を取得します。 |
ResultSet |
getGeneratedKeys()
この
Statement オブジェクトを実行した結果として作成された自動生成キーを取得します。 |
default long |
getLargeMaxRows()
この
Statement オブジェクトによって生成されるResultSet オブジェクトに含めることのできる最大行数を取得します。 |
default long |
getLargeUpdateCount()
更新カウントとして現在の結果を取得します。結果が
ResultSet オブジェクトであるか、または結果がない場合は -1を返します。 |
int |
getMaxFieldSize()
この
Statement オブジェクトによって生成されるResultSet オブジェクトの文字およびバイナリの各列値に対し返される最大バイト数を取得します。 |
int |
getMaxRows()
この
Statement オブジェクトによって生成されるResultSet オブジェクトに含めることのできる最大行数を取得します。 |
boolean |
getMoreResults()
Statement オブジェクトの次の結果に移動します。この結果がResultSet オブジェクトの場合はtrue を返し、getResultSet メソッドで得られた現在のResultSet オブジェクトをすべて暗黙にクローズします。 |
boolean |
getMoreResults(int current)
Statement オブジェクトの次の結果に移動します。指定されたフラグによって指定された命令に従ってすべての現在のResultSet オブジェクトを処理し、次の結果がResultSet オブジェクトの場合はtrue を返します。 |
int |
getQueryTimeout()
ドライバが
Statement オブジェクトの実行を待つ秒数を取得します。 |
ResultSet |
getResultSet()
ResultSet オブジェクトとして現在の結果を取得します。 |
int |
getResultSetConcurrency()
この
Statement オブジェクトから生成されたResultSet オブジェクトの結果セットの並行処理を取得します。 |
int |
getResultSetHoldability()
この
Statement オブジェクトから生成されたResultSet オブジェクトの結果セットの保持機能を取得します。 |
int |
getResultSetType()
この
Statement オブジェクトから生成されたResultSet オブジェクトの結果セットのタイプを取得します。 |
int |
getUpdateCount()
更新カウントとして現在の結果を取得します。結果が
ResultSet オブジェクトであるか、または結果がない場合は -1を返します。 |
SQLWarning |
getWarnings()
この
Statement オブジェクトに関する呼出しによって報告される最初の警告を取得します。 |
boolean |
isClosed()
この
Statement オブジェクトがクローズされているかどうかを取得します。 |
boolean |
isCloseOnCompletion()
このStatementに依存するすべての結果セットがクローズされたときにこの
Statement がクローズされるかどうかを示す値を取得します。 |
boolean |
isPoolable()
Statement がプール可能かどうかを示す値を返します。 |
void |
setCursorName(String name)
後続の
Statement オブジェクトのexecute メソッドによって使用されるSQLカーソル名を指定されたString に設定します。 |
void |
setEscapeProcessing(boolean enable)
エスケープの処理をオンまたはオフに設定します。
|
void |
setFetchDirection(int direction)
Statement オブジェクトを使用して作成されたResultSet オブジェクトの行が処理される方向についてのヒントをドライバに提供します。 |
void |
setFetchSize(int rows)
この
Statement で作成されたResultSet オブジェクトでより多くの行が必要なときにデータベースから取り出す必要がある行数についてのヒントをJDBCドライバに提供します。 |
default void |
setLargeMaxRows(long max)
この
Statement オブジェクトで作成された任意のResultSet オブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。 |
void |
setMaxFieldSize(int max)
この
Statement オブジェクトによって生成されるResultSet オブジェクトの文字およびバイナリの各列値に対し返される最大バイト数の制限を設定します。 |
void |
setMaxRows(int max)
この
Statement オブジェクトで作成された任意のResultSet オブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。 |
void |
setPoolable(boolean poolable)
Statement をプールすること、またはプールしないことを要求します。 |
void |
setQueryTimeout(int seconds)
ドライバが
Statement オブジェクトの実行を待つ秒数を、指定された秒数に設定します。 |
isWrapperFor, unwrap
static final int CLOSE_CURRENT_RESULT
getMoreResults
が呼び出されたときに、現在のResultSet
オブジェクトがクローズされることを示す定数です。static final int KEEP_CURRENT_RESULT
getMoreResults
が呼び出されたときに、現在のResultSet
オブジェクトがクローズされないことを示す定数です。static final int CLOSE_ALL_RESULTS
getMoreResults
が呼び出されたときに、直前までオープンされていたすべてのResultSet
オブジェクトがクローズされることを示す定数です。static final int SUCCESS_NO_INFO
static final int EXECUTE_FAILED
static final int RETURN_GENERATED_KEYS
static final int NO_GENERATED_KEYS
ResultSet executeQuery(String sql) throws SQLException
ResultSet
オブジェクトを返す、指定されたSQL文を実行します。
注: このメソッドをPreparedStatement
またはCallableStatement
に対して呼び出すことはできません。
sql
- データベースに送られるSQL文。通常静的SQL SELECT
文ResultSet
オブジェクト。null
にはならないSQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、指定されたSQL文が単一のResultSet
オブジェクト以外の何も生成しない場合、メソッドがPreparedStatement
またはCallableStatement
で呼び出された場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたときint executeUpdate(String sql) throws SQLException
INSERT
文、UPDATE
文、DELETE
文、またはSQL DDL文のような何も返さないSQL文の場合があります。
注: このメソッドをPreparedStatement
またはCallableStatement
に対して呼び出すことはできません。
sql
- SQL INSERT
文、UPDATE
文、またはDELETE
文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、または指定されたSQL文がResultSet
オブジェクトを生成した場合、メソッドがPreparedStatement
またはCallableStatement
で呼び出された場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたときvoid close() throws SQLException
Statement
オブジェクトのデータベースとJDBCリソースが解放されるのを待つのではなく、ただちにそれらを解放します。データベースのリソースを占有するのを避けるために、通常は、作業が終了したらすぐにリソースを解放するようにしてください。
すでにクローズされたStatement
オブジェクトでclose
メソッドを呼び出すと、操作は行われません。
注: Statement
オブジェクトがクローズされるとき、その現在のResultSet
オブジェクトが存在すれば、それもクローズされます。
close
、インタフェース: AutoCloseable
SQLException
- データベース・アクセス・エラーが発生した場合int getMaxFieldSize() throws SQLException
Statement
オブジェクトによって生成されるResultSet
オブジェクトの文字およびバイナリの各列値に対し返される最大バイト数を取得します。この制限値は、BINARY
、VARBINARY
、LONGVARBINARY
、CHAR
、VARCHAR
、NCHAR
、NVARCHAR
、LONGNVARCHAR
、およびLONGVARCHAR
の各列だけに適用されます。制限値を超えたデータは通知なしに破棄されます。SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合setMaxFieldSize(int)
void setMaxFieldSize(int max) throws SQLException
Statement
オブジェクトによって生成されるResultSet
オブジェクトの文字およびバイナリの各列値に対し返される最大バイト数の制限を設定します。この制限値は、BINARY
、VARBINARY
、LONGVARBINARY
、CHAR
、VARCHAR
、NCHAR
、NVARCHAR
、LONGNVARCHAR
、およびLONGVARCHAR
の各フィールドだけに適用されます。制限値を超えたデータは通知なしに破棄されます。移植性を最大限にするには、256より大きい値を使用します。max
- バイト単位の新しい列サイズの制限値。ゼロは無制限を意味するSQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、または条件max >= 0
が満たされない場合getMaxFieldSize()
int getMaxRows() throws SQLException
Statement
オブジェクトによって生成されるResultSet
オブジェクトに含めることのできる最大行数を取得します。制限値を超えた行は通知なしに除外されます。Statement
オブジェクトによって生成されるResultSet
オブジェクトの現在の最大行数。ゼロは無制限を意味するSQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合setMaxRows(int)
void setMaxRows(int max) throws SQLException
Statement
オブジェクトで作成された任意のResultSet
オブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。制限値を超えた行は通知なしに除外されます。max
- 新しい最大行数の制限値。ゼロは無制限を意味するSQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、または条件max >= 0
が満たされない場合getMaxRows()
void setEscapeProcessing(boolean enable) throws SQLException
Connection
およびDataSource
のプロパティescapeProcessing
を使用して、デフォルトのエスケープ処理の動作を変更できます。true (デフォルト)を指定すると、すべてのStatement
オブジェクトのエスケープ処理が有効になります。falseを指定すると、すべてのStatement
オブジェクトのエスケープ処理が無効になります。setEscapeProcessing
メソッドを使用して、個々のStatement
オブジェクトに対するエスケープ処理の動作を指定できます。
注: 用意された文は、通常呼び出す前に構文解析されているので、PreparedStatements
オブジェクトに対するエスケープ処理を無効にしても効果はありません。
enable
- エスケープ処理を有効にする場合はtrue
、無効にする場合はfalse
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合int getQueryTimeout() throws SQLException
Statement
オブジェクトの実行を待つ秒数を取得します。この制限を超えると、SQLException
がスローされます。SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合setQueryTimeout(int)
void setQueryTimeout(int seconds) throws SQLException
Statement
オブジェクトの実行を待つ秒数を、指定された秒数に設定します。デフォルトでは、実行中の文が完了するまでに許可されている時間に制限はありません。この制限時間を経過すると、SQLTimeoutException
がスローされます。JDBCドライバは、この制限をexecute
、executeQuery
、executeUpdate
の各メソッドに適用する必要があります。
注: JDBCドライバ実装は、この制限をResultSet
メソッドに適用することもあります(詳細は、ドライバ・ベンダーのマニュアルを参照してください)。
注: Statement
バッチ処理の場合、これは、タイム・アウトがaddBatch
メソッドによって追加された個々のSQLコマンドに適用されるか、executeBatch
メソッドによって呼び出されたSQLコマンドのバッチ全体に適用されるかに関して定義される実装です(詳細については、ドライバ・ベンダーのドキュメントを参照してください)。
seconds
- 新しいクエリー・タイムアウトの制限値の秒数。ゼロは無制限を意味するSQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、または条件seconds >= 0
が満たされない場合getQueryTimeout()
void cancel() throws SQLException
Statement
オブジェクトを取り消します。このメソッドは、1つのスレッドが別のスレッドによって実行中の文を取り消すのに使用できます。SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合SQLWarning getWarnings() throws SQLException
Statement
オブジェクトに関する呼出しによって報告される最初の警告を取得します。後続のStatement
オブジェクトの警告は、このSQLWarning
オブジェクトにチェーンされます。
警告チェーンは、文が(再)実行されるたびに自動的にクリアされます。このメソッドはクローズされたStatement
オブジェクトの呼出しには使用しません。使用するとSQLException
がスローされます。
注: ResultSet
オブジェクトを処理中の場合、ResultSet
オブジェクトの読込みに関連する警告はそのオブジェクトを生成したStatement
オブジェクトではなくすべてResultSetオブジェクトにチェーンされます。
SQLWarning
オブジェクト。警告がない場合はnull
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合void clearWarnings() throws SQLException
Statement
オブジェクトに関して報告されたすべての警告をクリアします。このメソッドを呼び出したあと、このStatement
オブジェクトに対する新しい警告が通知されるまで、getWarnings
メソッドはnull
を返します。SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合void setCursorName(String name) throws SQLException
Statement
オブジェクトのexecute
メソッドによって使用されるSQLカーソル名を指定されたString
に設定します。この名前は、SQLで位置決めされた更新文または削除文で使用され、この文で生成されたResultSet
オブジェクト内の現在の行を識別できます。データベースが位置決めされた更新または削除をサポートしていない場合、このメソッドは何も実行しません。更新をサポートする適切な遮断レベルをカーソルが確実に持つためには、カーソルのSELECT
文をSELECT FOR UPDATE
という形式にしてください。FOR UPDATE
が存在しない場合、位置決めされた更新は失敗します。
注: 定義により、位置決めされた更新または削除の実行は、位置決めに使用中のResultSet
オブジェクトを生成したStatement
オブジェクトとは異なるStatementオブジェクトによって実行される必要があります。さらに、カーソル名は接続内で一意にする必要があります。
name
- 新しいカーソル名。接続内で一意にする必要があるSQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合boolean execute(String sql) throws SQLException
execute
メソッドは、SQL文を実行し最初の結果の形式を示します。次に、getResultSet
またはgetUpdateCount
メソッドを使用して結果を取得します。そして、getMoreResults
により引き続き任意の結果の取得(複数可)に移動します。
注: このメソッドをPreparedStatement
またはCallableStatement
に対して呼び出すことはできません。
sql
- 任意のSQL文ResultSet
オブジェクトの場合はtrue
。更新カウントであるか、または結果がない場合はfalse
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、またはメソッドがPreparedStatement
またはCallableStatement
で呼び出された場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたときgetResultSet()
, getUpdateCount()
, getMoreResults()
ResultSet getResultSet() throws SQLException
ResultSet
オブジェクトとして現在の結果を取得します。このメソッドは、1つの結果につき1回だけ呼び出す必要があります。ResultSet
オブジェクトとしての現在の結果。結果が更新カウントであるか、または結果がない場合はnull
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合execute(java.lang.String)
int getUpdateCount() throws SQLException
ResultSet
オブジェクトであるか、または結果がない場合は -1を返します。このメソッドは、1つの結果につき1回だけ呼び出す必要があります。ResultSet
オブジェクトであるか、または結果がない場合は -1SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合execute(java.lang.String)
boolean getMoreResults() throws SQLException
Statement
オブジェクトの次の結果に移動します。この結果がResultSet
オブジェクトの場合はtrue
を返し、getResultSet
メソッドで得られた現在のResultSet
オブジェクトをすべて暗黙にクローズします。
次に該当する場合、結果はありません。
// stmt is a Statement object
((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1))
ResultSet
オブジェクトの場合はtrue
。更新カウントであるか、または結果がない場合はfalse
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合execute(java.lang.String)
void setFetchDirection(int direction) throws SQLException
Statement
オブジェクトを使用して作成されたResultSet
オブジェクトの行が処理される方向についてのヒントをドライバに提供します。デフォルト値はResultSet.FETCH_FORWARD
です。
このメソッドは、このStatement
オブジェクトによって生成される結果セットのデフォルトのフェッチ方向を設定します。各結果セットは、それ自身のフェッチ方向を取得および設定するための独自のメソッドを持ちます。
direction
- 行を処理する初期方向SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、または指定された方向がResultSet.FETCH_FORWARD
、ResultSet.FETCH_REVERSE
、またはResultSet.FETCH_UNKNOWN
のどれでもない場合getFetchDirection()
int getFetchDirection() throws SQLException
Statement
オブジェクトから生成された結果セットのデフォルトである、データベース表から行をフェッチする方向を取得します。このStatement
オブジェクトがsetFetchDirection
メソッドを呼び出してフェッチ方向を設定していない場合、戻り値は実装に依存します。Statement
オブジェクトから生成された結果セットのデフォルトのフェッチ方向SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合setFetchDirection(int)
void setFetchSize(int rows) throws SQLException
Statement
で作成されたResultSet
オブジェクトでより多くの行が必要なときにデータベースから取り出す必要がある行数についてのヒントをJDBCドライバに提供します。指定された値が0の場合、ヒントは無視されます。デフォルト値はゼロです。rows
- フェッチする行数SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、または条件rows>= 0
が満たされない場合。getFetchSize()
int getFetchSize() throws SQLException
Statement
オブジェクトから生成されたResultSet
オブジェクトのデフォルトのフェッチ・サイズである、結果セットの行数を取得します。このStatement
オブジェクトがsetFetchSize
メソッドを呼び出してフェッチ・サイズを設定していない場合、戻り値は実装に依存します。Statement
オブジェクトから生成された結果セットのデフォルトのフェッチ・サイズSQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合setFetchSize(int)
int getResultSetConcurrency() throws SQLException
Statement
オブジェクトから生成されたResultSet
オブジェクトの結果セットの並行処理を取得します。ResultSet.CONCUR_READ_ONLY
またはResultSet.CONCUR_UPDATABLE
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合int getResultSetType() throws SQLException
Statement
オブジェクトから生成されたResultSet
オブジェクトの結果セットのタイプを取得します。ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
、ResultSet.TYPE_SCROLL_SENSITIVE
のいずれかSQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合void addBatch(String sql) throws SQLException
Statement
オブジェクトの現在のコマンドのリストに、指定されたSQLコマンドを追加します。このリストのコマンドはexecuteBatch
メソッドを呼び出すことにより、バッチとして実行できます。
注: このメソッドをPreparedStatement
またはCallableStatement
に対して呼び出すことはできません。
sql
- 通常はSQL INSERT
文またはUPDATE
文SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、ドライバがバッチ更新をサポートしない場合、メソッドがPreparedStatement
またはCallableStatement
で呼び出された場合executeBatch()
, DatabaseMetaData.supportsBatchUpdates()
void clearBatch() throws SQLException
Statement
オブジェクトの現在のSQLコマンド・リストを空にします。
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、またはドライバがバッチ更新をサポートしない場合addBatch(java.lang.String)
, DatabaseMetaData.supportsBatchUpdates()
int[] executeBatch() throws SQLException
int
要素は、バッチ内のコマンドに対応して順序付けられます。つまり、バッチに追加された順序に従って順序付けられます。executeBatch
メソッドによって返される配列内の要素は、次のいずれか1つに該当します。
SUCCESS_NO_INFO
の値 -- コマンドが正常に処理されたが、影響を受けた行数が不明なことを示します
バッチ更新内のコマンドの1つが正常に実行できなかった場合、このメソッドはBatchUpdateException
をスローし、JDBCドライバはバッチ内の残りのコマンドの処理を継続することも、中止することもできます。ただし、ドライバの動作は特定のDBMSと一貫性を保つ必要があり、常にコマンドの処理を継続するか、あるいは継続しないかのどちらかになります。失敗後、ドライバが処理を継続する場合は、BatchUpdateException.getUpdateCounts
メソッドで返される配列には、バッチ内のコマンドと同じ数の要素が格納され、それらの要素の1つ以上が次に該当します。
EXECUTE_FAILED
の値 -- 失敗したコマンドが正常に実行されたことを示し、コマンドが失敗したあとに、ドライバがコマンドの処理を継続した場合に限り発生します。
Java 2 SDK, Standard Edition, Version 1.3では、使用できる実装および戻り値が修正されて、BatchUpdateException
オブジェクトがスローされた後にバッチ更新内のコマンドの処理を継続できるオプションが用意されています。
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、またはドライバがバッチ文をサポートしない場合。データベースに送信されたコマンドの1つが正常に実行されなかった場合や、結果セットを返そうとした場合は、BatchUpdateException
(SQLException
のサブクラス)がスローされる。SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたときaddBatch(java.lang.String)
, DatabaseMetaData.supportsBatchUpdates()
Connection getConnection() throws SQLException
Statement
オブジェクトを生成したConnection
オブジェクトを取得します。SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合boolean getMoreResults(int current) throws SQLException
Statement
オブジェクトの次の結果に移動します。指定されたフラグによって指定された命令に従ってすべての現在のResultSet
オブジェクトを処理し、次の結果がResultSet
オブジェクトの場合はtrue
を返します。
次に該当する場合、結果はありません。
// stmt is a Statement object
((stmt.getMoreResults(current) == false) && (stmt.getUpdateCount() == -1))
current
- getResultSet
メソッドを使用して取得した現在のResultSet
オブジェクトに対する処理を示す次のいずれかのStatement
定数。Statement.CLOSE_CURRENT_RESULT
、Statement.KEEP_CURRENT_RESULT
、またはStatement.CLOSE_ALL_RESULTS
ResultSet
オブジェクトの場合はtrue
。更新カウントであるか、または結果がない場合はfalse
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、または指定された引数がStatement.CLOSE_CURRENT_RESULT
、Statement.CLOSE_ALL_RESULTS
、またはStatement.KEEP_CURRENT_RESULT
のどれでもない場合SQLFeatureNotSupportedException
- DatabaseMetaData.supportsMultipleOpenResults
がfalse
を返し、引数としてStatement.KEEP_CURRENT_RESULT
またはStatement.CLOSE_ALL_RESULTS
が指定されている場合。execute(java.lang.String)
ResultSet getGeneratedKeys() throws SQLException
Statement
オブジェクトを実行した結果として作成された自動生成キーを取得します。このStatement
オブジェクトがキーを生成しなかった場合は、空のResultSet
オブジェクトが返されます。
注: 自動生成キーを表す列が指定されなかった場合、JDBCドライバ実装では、自動生成キーを表すのに最適な列を判断します。
Statement
オブジェクトの実行で生成された自動生成キーを含むResultSet
オブジェクトSQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException
Statement
オブジェクトによって生成された自動生成キーを検索可能にするかどうかについて指定されたフラグでドライバに通知します。SQL文がINSERT
文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはフラグを無視します。
注: このメソッドをPreparedStatement
またはCallableStatement
に対して呼び出すことはできません。
sql
- SQL INSERT
文、UPDATE
文、またはDELETE
文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文autoGeneratedKeys
- 自動生成キーを検索可能にするかどうかを示すフラグ。定数Statement.RETURN_GENERATED_KEYS
またはStatement.NO_GENERATED_KEYS
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、指定されたSQL文がResultSet
オブジェクトを返す場合、指定された定数が許可されているものでない場合、メソッドがPreparedStatement
またはCallableStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバが定数Statement.RETURN_GENERATED_KEYSを指定したこのメソッドをサポートしない場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたときint executeUpdate(String sql, int[] columnIndexes) throws SQLException
INSERT
文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。
注: このメソッドをPreparedStatement
またはCallableStatement
に対して呼び出すことはできません。
sql
- SQL INSERT
文、UPDATE
文、またはDELETE
文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文columnIndexes
- 挿入された行から返される列を示す列インデックスの配列SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、SQL文がResultSet
オブジェクトを返す場合、このメソッドに指定された2番目の引数が、有効な列インデックスを要素とするint
配列ではない場合、メソッドがPreparedStatement
またはCallableStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたときint executeUpdate(String sql, String[] columnNames) throws SQLException
INSERT
文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。
注: このメソッドをPreparedStatement
またはCallableStatement
に対して呼び出すことはできません。
sql
- SQL INSERT
文、UPDATE
文、またはDELETE
文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文columnNames
- 挿入された行から返される列の名前の配列INSERT
文、UPDATE
文、DELETE
文の場合は行数。何も返さないSQL文の場合は0SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、SQL文がResultSet
オブジェクトを返す場合、このメソッドに指定された2番目の引数が、有効な列名を要素とするString
配列ではない場合、メソッドがPreparedStatement
またはCallableStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたときboolean execute(String sql, int autoGeneratedKeys) throws SQLException
INSERT
文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはこの信号を無視します。
いくつかの(一般的でない)状況では、単一のSQL文が複数の結果セットあるいは更新カウントを返すことがあります。複数の結果を返すことがあることがわかっているストアド・プロシージャを実行中、または未知のSQL文字列を動的に実行中でないかぎり、通常はこれを無視できます。
execute
メソッドは、SQL文を実行し最初の結果の形式を示します。次に、getResultSet
またはgetUpdateCount
メソッドを使用して結果を取得します。そして、getMoreResults
により引き続き任意の結果の取得(複数可)に移動します。
注: このメソッドをPreparedStatement
またはCallableStatement
に対して呼び出すことはできません。
sql
- 任意のSQL文autoGeneratedKeys
- getGeneratedKeys
メソッドを使用して、自動生成キーを検索可能にするかどうかを示す定数。Statement.RETURN_GENERATED_KEYS
またはStatement.NO_GENERATED_KEYS
ResultSet
オブジェクトの場合はtrue
。更新カウントであるか、または結果がない場合はfalse
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、このメソッドに指定された2番目のパラメータがStatement.RETURN_GENERATED_KEYS
またはStatement.NO_GENERATED_KEYS
でない場合、メソッドがPreparedStatement
またはCallableStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバが定数Statement.RETURN_GENERATED_KEYSを指定したこのメソッドをサポートしない場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたときgetResultSet()
, getUpdateCount()
, getMoreResults()
, getGeneratedKeys()
boolean execute(String sql, int[] columnIndexes) throws SQLException
INSERT
文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。
いくつかの(一般的でない)状況では、単一のSQL文が複数の結果セットあるいは更新カウントを返すことがあります。複数の結果を返すことがあることがわかっているストアド・プロシージャを実行中、または未知のSQL文字列を動的に実行中でないかぎり、通常はこれを無視できます。
execute
メソッドは、SQL文を実行し最初の結果の形式を示します。次に、getResultSet
またはgetUpdateCount
メソッドを使用して結果を取得します。そして、getMoreResults
により引き続き任意の結果の取得(複数可)に移動します。
注: このメソッドをPreparedStatement
またはCallableStatement
に対して呼び出すことはできません。
sql
- 任意のSQL文columnIndexes
- getGeneratedKeys
メソッドの呼出しによって検索可能にする挿入行の列インデックスの配列ResultSet
オブジェクトの場合はtrue
。更新カウントであるか、または結果がない場合はfalse
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、このメソッドに渡されたint
配列の要素が有効な列インデックスでない場合、メソッドがPreparedStatement
またはCallableStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたときgetResultSet()
, getUpdateCount()
, getMoreResults()
boolean execute(String sql, String[] columnNames) throws SQLException
INSERT
文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。
いくつかの(一般的でない)状況では、単一のSQL文が複数の結果セットあるいは更新カウントを返すことがあります。複数の結果を返すことがあることがわかっているストアド・プロシージャを実行中、または未知のSQL文字列を動的に実行中でないかぎり、通常はこれを無視できます。
execute
メソッドは、SQL文を実行し最初の結果の形式を示します。次に、getResultSet
またはgetUpdateCount
メソッドを使用して結果を取得します。そして、getMoreResults
により引き続き任意の結果の取得(複数可)に移動します。
注: このメソッドをPreparedStatement
またはCallableStatement
に対して呼び出すことはできません。
sql
- 任意のSQL文columnNames
- getGeneratedKeys
メソッドの呼出しによって検索可能にする挿入行の列名の配列ResultSet
オブジェクトの場合はtrue
。更新カウントであるか、または結果がない場合はfalse
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、このメソッドに渡されたString
配列の要素が有効な列名でない場合、メソッドがPreparedStatement
またはCallableStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたときgetResultSet()
, getUpdateCount()
, getMoreResults()
, getGeneratedKeys()
int getResultSetHoldability() throws SQLException
Statement
オブジェクトから生成されたResultSet
オブジェクトの結果セットの保持機能を取得します。ResultSet.HOLD_CURSORS_OVER_COMMIT
またはResultSet.CLOSE_CURSORS_AT_COMMIT
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合boolean isClosed() throws SQLException
Statement
オブジェクトがクローズされているかどうかを取得します。Statement
でcloseメソッドが呼び出されるか、または自動的にクローズされる場合、このオブジェクトはクローズされます。Statement
オブジェクトがクローズされている場合はtrue、まだオープンの状態の場合はfalseSQLException
- データベース・アクセス・エラーが発生した場合void setPoolable(boolean poolable) throws SQLException
Statement
をプールすること、またはプールしないことを要求します。指定された値は、文のプール実装のヒントで、アプリケーションで文がプールされる必要があるかどうかを示します。ヒントが使用されるかどうかは、文のプール管理プログラムによって異なります。
文のプール可能な値は、ドライバによって実装される内部文キャッシュと、アプリケーション・サーバーやその他のアプリケーションによって実装される外部文キャッシュの両方に適用されます。
デフォルトで、Statement
は作成時にプール可能ではありませんが、PreparedStatement
およびCallableStatement
は作成時にプール可能です。
poolable
- trueの場合は文をプールすること、falseの場合は文をプールしないことを要求する
SQLException
- このメソッドがクローズされたStatement
で呼び出された場合
boolean isPoolable() throws SQLException
Statement
がプール可能かどうかを示す値を返します。
Statement
がプール可能である場合はtrue
、そうでない場合はfalse
SQLException
- このメソッドがクローズされたStatement
で呼び出された場合
setPoolable(boolean)
void closeOnCompletion() throws SQLException
Statement
がクローズされることを示します。Statement
の実行によって結果セットが生成されない場合、このメソッドは無効です。
注: closeOnCompletion
を複数回呼び出してもこのStatement
への効果は切り替わりません。ただし、closeOnCompletion
の呼出しは、文のその後の実行と、現在開いていて依存されている結果セットがある文の両方に影響します。
SQLException
- このメソッドがクローズされたStatement
で呼び出された場合boolean isCloseOnCompletion() throws SQLException
Statement
がクローズされるかどうかを示す値を取得します。Statement
が、依存するすべての結果セットがクローズされたときにクローズされる場合はtrue
、そうでない場合はfalse
SQLException
- このメソッドがクローズされたStatement
で呼び出された場合default long getLargeUpdateCount() throws SQLException
ResultSet
オブジェクトであるか、または結果がない場合は -1を返します。このメソッドは、1つの結果につき1回だけ呼び出す必要があります。
返される行数がInteger.MAX_VALUE
を超える可能性がある場合は、このメソッドを使用するようにしてください。
デフォルト実装はUnsupportedOperationException
をスローします
ResultSet
オブジェクトであるか、または結果がない場合は -1SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合execute(java.lang.String)
default void setLargeMaxRows(long max) throws SQLException
Statement
オブジェクトで作成された任意のResultSet
オブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。制限値を超えた行は通知なしに除外されます。
行制限がInteger.MAX_VALUE
を超える可能性がある場合は、このメソッドを使用するようにしてください。
デフォルト実装はUnsupportedOperationException
をスローします
max
- 新しい最大行数の制限値。ゼロは無制限を意味するSQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、または条件max >= 0
が満たされない場合getMaxRows()
default long getLargeMaxRows() throws SQLException
Statement
オブジェクトによって生成されるResultSet
オブジェクトに含めることのできる最大行数を取得します。制限値を超えた行は通知なしに除外されます。
返される行制限がInteger.MAX_VALUE
を超える可能性がある場合は、このメソッドを使用するようにしてください。
デフォルト実装は0
を返します
Statement
オブジェクトによって生成されるResultSet
オブジェクトの現在の最大行数。ゼロは無制限を意味するSQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatement
について呼び出された場合setMaxRows(int)
default long[] executeLargeBatch() throws SQLException
long
要素は、バッチ内のコマンドに対応して順序付けられます。つまり、コマンドがバッチに追加された順序に従って順序付けられます。executeLargeBatch
メソッドによって返される配列内の要素は、次のいずれかである可能性があります。
SUCCESS_NO_INFO
の値 -- コマンドが正常に処理されたが、影響を受けた行数が不明なことを示します
バッチ更新内のコマンドの1つが正常に実行できなかった場合、このメソッドはBatchUpdateException
をスローし、JDBCドライバはバッチ内の残りのコマンドの処理を継続することも、中止することもできます。ただし、ドライバの動作は特定のDBMSと一貫性を保つ必要があり、常にコマンドの処理を継続するか、あるいは継続しないかのどちらかになります。失敗後、ドライバが処理を継続する場合は、BatchUpdateException.getLargeUpdateCounts
メソッドで返される配列にバッチ内のコマンドと同じ数の要素が格納され、それらの要素の1つ以上が次に該当します。
EXECUTE_FAILED
の値 -- 失敗したコマンドが正常に実行されたことを示し、コマンドが失敗したあとに、ドライバがコマンドの処理を継続した場合に限り発生します。
返される行数がInteger.MAX_VALUE
を超える可能性がある場合は、このメソッドを使用するようにしてください。
デフォルト実装はUnsupportedOperationException
をスローします
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、またはドライバがバッチ文をサポートしない場合。データベースに送信されたコマンドの1つが正常に実行されなかった場合や、結果セットを返そうとした場合は、BatchUpdateException
(SQLException
のサブクラス)がスローされる。SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたときaddBatch(java.lang.String)
, DatabaseMetaData.supportsBatchUpdates()
default long executeLargeUpdate(String sql) throws SQLException
INSERT
文、UPDATE
文、DELETE
文、またはSQL DDL文のような何も返さないSQL文の場合があります。
返される行数がInteger.MAX_VALUE
を超える可能性がある場合は、このメソッドを使用するようにしてください。
注: このメソッドをPreparedStatement
またはCallableStatement
に対して呼び出すことはできません。
デフォルト実装はUnsupportedOperationException
をスローします
sql
- SQL INSERT
文、UPDATE
文、またはDELETE
文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、または指定されたSQL文がResultSet
オブジェクトを生成した場合、メソッドがPreparedStatement
またはCallableStatement
で呼び出された場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたときdefault long executeLargeUpdate(String sql, int autoGeneratedKeys) throws SQLException
Statement
オブジェクトによって生成された自動生成キーを検索可能にするかどうかについて指定されたフラグでドライバに通知します。SQL文がINSERT
文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはフラグを無視します。
返される行数がInteger.MAX_VALUE
を超える可能性がある場合は、このメソッドを使用するようにしてください。
注: このメソッドをPreparedStatement
またはCallableStatement
に対して呼び出すことはできません。
デフォルト実装はSQLFeatureNotSupportedException
をスローします
sql
- SQL INSERT
文、UPDATE
文、またはDELETE
文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文autoGeneratedKeys
- 自動生成キーを検索可能にするかどうかを示すフラグ。定数Statement.RETURN_GENERATED_KEYS
またはStatement.NO_GENERATED_KEYS
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、指定されたSQL文がResultSet
オブジェクトを返す場合、指定された定数が許可されているものでない場合、メソッドがPreparedStatement
またはCallableStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバが定数Statement.RETURN_GENERATED_KEYSを指定したこのメソッドをサポートしない場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたときdefault long executeLargeUpdate(String sql, int[] columnIndexes) throws SQLException
INSERT
文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。
返される行数がInteger.MAX_VALUE
を超える可能性がある場合は、このメソッドを使用するようにしてください。
注: このメソッドをPreparedStatement
またはCallableStatement
に対して呼び出すことはできません。
デフォルト実装はSQLFeatureNotSupportedException
をスローします
sql
- SQL INSERT
文、UPDATE
文、またはDELETE
文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文columnIndexes
- 挿入された行から返される列を示す列インデックスの配列SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、SQL文がResultSet
オブジェクトを返す場合、このメソッドに指定された2番目の引数が、有効な列インデックスを要素とするint
配列ではない場合、メソッドがPreparedStatement
またはCallableStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたときdefault long executeLargeUpdate(String sql, String[] columnNames) throws SQLException
INSERT
文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。
返される行数がInteger.MAX_VALUE
を超える可能性がある場合は、このメソッドを使用するようにしてください。
注: このメソッドをPreparedStatement
またはCallableStatement
に対して呼び出すことはできません。
デフォルト実装はSQLFeatureNotSupportedException
をスローします
sql
- SQL INSERT
文、UPDATE
文、またはDELETE
文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文columnNames
- 挿入された行から返される列の名前の配列INSERT
文、UPDATE
文、DELETE
文の場合は行数。何も返さないSQL文の場合は0SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatement
で呼び出された場合、SQL文がResultSet
オブジェクトを返す場合、このメソッドに指定された2番目の引数が、有効な列名を要素とするString
配列ではない場合、メソッドがPreparedStatement
またはCallableStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたとき バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.