インタフェースStatement
- すべてのスーパー・インタフェース:
AutoCloseable,Wrapper
- 既知のすべてのサブインタフェース:
CallableStatement,PreparedStatement
静的SQL文を実行し、作成された結果を返すために使用されるオブジェクトです。
デフォルトでは、Statementオブジェクトごとに、同時に開くことができるResultSetオブジェクトは1つ けです。 したがって、1つのResultSetオブジェクトの読込みが、別の読込みにより割り込まれると、各々は異なったStatementオブジェクトによって生成されたことになります。 Statementインタフェースのすべての実行メソッドは、文の現在のResultSetオブジェクトでオープンされているものが存在すれば、それを暗黙にクローズします。
- 導入されたバージョン:
- 1.1
- 関連 目:
-
フィールドのサマリー
フィールド修飾子と型フィールド説明static final intgetMoreResultsが呼び出されたときに、直前までオープンされていたすべてのResultSetオブジェクトがクローズされることを示す定数です。static final intgetMoreResultsが呼び出されたときに、現在のResultSetオブジェクトがクローズされることを示す定数です。static final intバッチ文の実行中にエラーが発生したことを示す定数です。static final intgetMoreResultsが呼び出されたときに、現在のResultSetオブジェクトがクローズされないことを示す定数です。static final int生成されたキーを検索可能にしないことを示す定数です。static final int生成されたキーを検索可能にすることを示す定数です。static final intバッチ文が正常に実行されたが、影響を受けた行数が不明なことを示す定数です。 -
メソッドのサマリー
修飾子と型メソッド説明voidこのStatementオブジェクトの現在のコマンドのリストに、指定されたSQLコマンドを追 します。voidcancel()DBMSおよびドライバの両方がSQL文の終了をサポートする 合に、このStatementオブジェクトを取り消します。voidこのStatementオブジェクトの現在のSQLコマンド・リストを空にします。voidこのStatementオブジェクトに関して 告されたすべての警告をクリアします。voidclose()自動的にクローズされるときにStatementオブジェクトのデータベースとJDBCリソースが解放されるのを待つのではなく、た ちにそれらを解放します。voidこのStatementに依存するすべての結果セットがクローズされたときにこのStatementがクローズされることを示します。default StringenquoteIdentifier(String identifier, boolean alwaysQuote) SQL識別子を戻します。default StringenquoteLiteral(String val) 一重引用符で囲まれたStringを返します。default String一重引用符で囲まれ、先 に大文字のNが付いた各国語文字セット・リテラルを表すStringを返します。boolean複数の結果を返す可能性のある指定されたSQL文を実行します。boolean複数の結果を返す可能性のある指定されたSQL文を実行し、すべての自動生成キーを検索可能にするかどうかについてドライバに通知します。boolean複数の結果を返す可能性のある指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。boolean複数の結果を返す可能性のある指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。int[]コマンドのバッチをデータベースに送信して実行し、すべてのコマンドが正常に実行されると、更新カウントの配列を返します。default long[]コマンドのバッチをデータベースに送信して実行し、すべてのコマンドが正常に実行されると、更新カウントの配列を返します。default longexecuteLargeUpdate(String sql) 指定されたSQL文を実行します。SQL文は、INSERT文、UPDATE文、DELETE文、またはSQL DDL文のような何も返さないSQL文の 合があります。default longexecuteLargeUpdate(String sql, int autoGeneratedKeys) 指定されたSQL文を実行し、このStatementオブジェクトによって生成された自動生成キーを検索可能にするかどうかについて指定されたフラグでドライバに通知します。default longexecuteLargeUpdate(String sql, int[] columnIndexes) 指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。default longexecuteLargeUpdate(String sql, String[] columnNames) 指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。executeQuery(String sql) 単一のResultSetオブジェクトを返す、指定されたSQL文を実行します。intexecuteUpdate(String sql) 指定されたSQL文を実行します。SQL文は、INSERT文、UPDATE文、DELETE文、またはSQL DDL文のような何も返さないSQL文の 合があります。intexecuteUpdate(String sql, int autoGeneratedKeys) 指定されたSQL文を実行し、このStatementオブジェクトによって生成された自動生成キーを検索可能にするかどうかについて指定されたフラグでドライバに通知します。intexecuteUpdate(String sql, int[] columnIndexes) 指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。intexecuteUpdate(String sql, String[] columnNames) 指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。このStatementオブジェクトを生成したConnectionオブジェクトを取得します。intこのStatementオブジェクトから生成された結果セットのデフォルトである、データベース表から行をフェッチする方向を取得します。intこのStatementオブジェクトから生成されたResultSetオブジェクトのデフォルトのフェッチ・サイズである、結果セットの行数を取得します。このStatementオブジェクトを実行した結果として作成された自動生成キーを取得します。default longこのStatementオブジェクトによって生成されるResultSetオブジェクトに含めることのできる最大行数を取得します。default long更新カウントとして現在の結果を取得します。結果がResultSetオブジェクトであるか、または結果がない 合は -1を返します。intこのStatementオブジェクトによって生成されるResultSetオブジェクトの文字およびバイナリの各列値に対し返される最大バイト数を取得します。intこのStatementオブジェクトによって生成されるResultSetオブジェクトに含めることのできる最大行数を取得します。booleanStatementオブジェクトの次の結果に移動します。この結果がResultSetオブジェクトの 合はtrueを返し、getResultSetメソッドで得られた現在のResultSetオブジェクトをすべて暗黙にクローズします。booleangetMoreResults(int current) Statementオブジェクトの次の結果に移動します。指定されたフラグによって指定された命令に従ってすべての現在のResultSetオブジェクトを処理し、次の結果がResultSetオブジェクトの 合はtrueを返します。intドライバがStatementオブジェクトの実行を待つ秒数を取得します。ResultSetオブジェクトとして現在の結果を取得します。intこのStatementオブジェクトから生成されたResultSetオブジェクトの結果セットの並行処理を取得します。intこのStatementオブジェクトから生成されたResultSetオブジェクトの結果セットの保持機能を取得します。intこのStatementオブジェクトから生成されたResultSetオブジェクトの結果セットのタイプを取得します。int更新カウントとして現在の結果を取得します。結果がResultSetオブジェクトであるか、または結果がない 合は -1を返します。このStatementオブジェクトに関する呼出しによって 告される最初の警告を取得します。booleanisClosed()このStatementオブジェクトがクローズされているかどうかを取得します。booleanこのStatementに依存するすべての結果セットがクローズされたときにこのStatementがクローズされるかどうかを示す値を取得します。booleanStatementがプール可能かどうかを示す値を返します。default booleanisSimpleIdentifier(String identifier) identifierが単純なSQL識別子であるかどうかを取得します。voidsetCursorName(String name) 後続のStatementオブジェクトのexecuteメソッドによって使用されるSQLカーソル名を指定されたStringに設定します。voidsetEscapeProcessing(boolean enable) エスケープの処理をオンまたはオフに設定します。voidsetFetchDirection(int direction) Statementオブジェクトを使用して作成されたResultSetオブジェクトの行が処理される方向についてのヒントをドライバに提供します。voidsetFetchSize(int rows) このStatementで作成されたResultSetオブジェクトでより多くの行が必要なときにデータベースから取り出す必要がある行数についてのヒントをJDBCドライバに提供します。default voidsetLargeMaxRows(long max) このStatementオブジェクトで作成された任意のResultSetオブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。voidsetMaxFieldSize(int max) このStatementオブジェクトによって生成されるResultSetオブジェクトの文字およびバイナリの各列値に対し返される最大バイト数の制限を設定します。voidsetMaxRows(int max) このStatementオブジェクトで作成された任意のResultSetオブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。voidsetPoolable(boolean poolable) Statementをプールすること、またはプールしないことを要求します。voidsetQueryTimeout(int seconds) ドライバがStatementオブジェクトの実行を待つ秒数を、指定された秒数に設定します。インタフェースjava.sql.Wrapperで宣言されたメソッド
isWrapperFor, unwrap
-
フィールド詳細
-
CLOSE_CURRENT_RESULT
static final int CLOSE_CURRENT_RESULTgetMoreResultsが呼び出されたときに、現在のResultSetオブジェクトがクローズされることを示す定数です。- 導入されたバージョン:
- 1.4
- 関連 目:
-
KEEP_CURRENT_RESULT
static final int KEEP_CURRENT_RESULTgetMoreResultsが呼び出されたときに、現在のResultSetオブジェクトがクローズされないことを示す定数です。- 導入されたバージョン:
- 1.4
- 関連 目:
-
CLOSE_ALL_RESULTS
static final int CLOSE_ALL_RESULTSgetMoreResultsが呼び出されたときに、直前までオープンされていたすべてのResultSetオブジェクトがクローズされることを示す定数です。- 導入されたバージョン:
- 1.4
- 関連 目:
-
SUCCESS_NO_INFO
static final int SUCCESS_NO_INFOバッチ文が正常に実行されたが、影響を受けた行数が不明なことを示す定数です。- 導入されたバージョン:
- 1.4
- 関連 目:
-
EXECUTE_FAILED
static final int EXECUTE_FAILEDバッチ文の実行中にエラーが発生したことを示す定数です。- 導入されたバージョン:
- 1.4
- 関連 目:
-
RETURN_GENERATED_KEYS
static final int RETURN_GENERATED_KEYS生成されたキーを検索可能にすることを示す定数です。- 導入されたバージョン:
- 1.4
- 関連 目:
-
NO_GENERATED_KEYS
static final int NO_GENERATED_KEYS生成されたキーを検索可能にしないことを示す定数です。- 導入されたバージョン:
- 1.4
- 関連 目:
-
-
メソッドの詳細
-
executeQuery
ResultSet executeQuery( String sql) throws SQLException単一のResultSetオブジェクトを返す、指定されたSQL文を実行します。ノート: このメソッドを
PreparedStatementまたはCallableStatementに対して呼び出すことはできません。- パラメータ:
sql- データベースに送られるSQL文。通常静的SQLSELECT文- 戻り値:
- 指定されたクエリーによって作成されたデータを含む
ResultSetオブジェクト。nullにはならない - スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、指定されたSQL文が単一のResultSetオブジェクト以外の何も生成しない 合、メソッドがPreparedStatementまたはCallableStatementで呼び出された 合SQLTimeoutException- ドライバが、setQueryTimeoutメソッドで指定されたタイ ・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたとき
-
executeUpdate
int executeUpdate(String sql) throws SQLException 指定されたSQL文を実行します。SQL文は、INSERT文、UPDATE文、DELETE文、またはSQL DDL文のような何も返さないSQL文の 合があります。ノート: このメソッドを
PreparedStatementまたはCallableStatementに対して呼び出すことはできません。- パラメータ:
sql- SQLINSERT文、UPDATE文、またはDELETE文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文- 戻り値:
- (1) SQLデータ操作言語(DML)文の 合は行数、(2)何も返さないSQL文の 合は0
- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、または指定されたSQL文がResultSetオブジェクトを生成した 合、メソッドがPreparedStatementまたはCallableStatementで呼び出された 合SQLTimeoutException- ドライバが、setQueryTimeoutメソッドで指定されたタイ ・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたとき
-
close
void close() throws SQLException自動的にクローズされるときにStatementオブジェクトのデータベースとJDBCリソースが解放されるのを待つのではなく、た ちにそれらを解放します。 データベースのリソースを 有するのを避けるために、通常は、作業が終了したらすぐにリソースを解放するようにしてく さい。すでにクローズされた
Statementオブジェクトでcloseメソッドを呼び出すと、操作は行われません。ノート:
Statementオブジェクトがクローズされるとき、その現在のResultSetオブジェクトが存在すれば、それもクローズされます。- 定義:
close、インタフェースAutoCloseable- スロー:
SQLException- データベース・アクセス・エラーが発生した 合
-
getMaxFieldSize
int getMaxFieldSize() throws SQLExceptionこのStatementオブジェクトによって生成されるResultSetオブジェクトの文字およびバイナリの各列値に対し返される最大バイト数を取得します。 この制限値は、BINARY、VARBINARY、LONGVARBINARY、CHAR、VARCHAR、NCHAR、NVARCHAR、LONGNVARCHAR、およびLONGVARCHARの各列 けに適用されます。 限度値を超過すると、超過したデータは警告なしで 棄されます。- 戻り値:
- 文字値およびバイナリ値を 納する列に対する現在の列サイズの制限値。ゼロは無制限を意味する
- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合- 関連 目:
-
setMaxFieldSize
void setMaxFieldSize(int max) throws SQLException このStatementオブジェクトによって生成されるResultSetオブジェクトの文字およびバイナリの各列値に対し返される最大バイト数の制限を設定します。 この制限値は、BINARY、VARBINARY、LONGVARBINARY、CHAR、VARCHAR、NCHAR、NVARCHAR、LONGNVARCHAR、およびLONGVARCHARの各フィールド けに適用されます。 限度値を超過すると、超過したデータは警告なしで 棄されます。 移植性を最大限にするには、256より大きい値を使用します。- パラメータ:
max- バイト単位の新しい列サイズの制限値。ゼロは無制限を意味する- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、または条件max >= 0が満たされない 合- 関連 目:
-
getMaxRows
int getMaxRows() throws SQLExceptionこのStatementオブジェクトによって生成されるResultSetオブジェクトに含めることのできる最大行数を取得します。 制限値を超えた行は通知なしに除外されます。- 戻り値:
- この
Statementオブジェクトによって生成されるResultSetオブジェクトの現在の最大行数。ゼロは無制限を意味する - スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合- 関連 目:
-
setMaxRows
void setMaxRows(int max) throws SQLException このStatementオブジェクトで作成された任意のResultSetオブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。 制限値を超えた行は通知なしに除外されます。- パラメータ:
max- 新しい最大行数の制限値。ゼロは無制限を意味する- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、または条件max >= 0が満たされない 合- 関連 目:
-
setEscapeProcessing
void setEscapeProcessing(boolean enable) throws SQLException エスケープの処理をオンまたはオフに設定します。 エスケープ・スキャニングがオンの 合(デフォルト)、ドライバはSQL文をデータベースに送る前にエスケープ置換えを実行します。ConnectionおよびDataSourceのプロパティescapeProcessingを使用して、デフォルトのエスケープ処理の動作を変更できます。 true (デフォルト)を指定すると、すべてのStatementオブジェクトのエスケープ処理が有効になります。 falseを指定すると、すべてのStatementオブジェクトのエスケープ処理が無効になります。setEscapeProcessingメソッドを使用して、個々のStatementオブジェクトに対するエスケープ処理の動作を指定できます。ノート: 用意された文は、通常呼び出す前に構文解析されているので、
PreparedStatementsオブジェクトに対するエスケープ処理を無効にしても効果はありません。- パラメータ:
enable- エスケープ処理を有効にする 合はtrue、無効にする 合はfalse- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合
-
getQueryTimeout
int getQueryTimeout() throws SQLExceptionドライバがStatementオブジェクトの実行を待つ秒数を取得します。 この制限を超えると、SQLExceptionがスローされます。- 戻り値:
- 現在のクエリー・タイ アウトの制限値の秒数。ゼロは無制限を意味する
- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合- 関連 目:
-
setQueryTimeout
void setQueryTimeout(int seconds) throws SQLException ドライバがStatementオブジェクトの実行を待つ秒数を、指定された秒数に設定します。 デフォルトでは、実行中の文が完了するまでに許可されている時間に制限はありません。 この制限時間を経過すると、SQLTimeoutExceptionがスローされます。 JDBCドライバは、この制限をexecute、executeQuery、executeUpdateの各メソッドに適用する必要があります。ノート: JDBCドライバ実装は、この制限を
ResultSetメソッドに適用することもあります(詳細は、ドライバ・ベンダーのマニュアルを参照してく さい)。ノート:
Statementバッチ処理の 合、これは、タイ ・アウトがaddBatchメソッドによって追 された個々のSQLコマンドに適用されるか、executeBatchメソッドによって呼び出されたSQLコマンドのバッチ全体に適用されるかに関して定義される実装です(詳細については、ドライバ・ベンダーのドキュメントを参照してく さい)。- パラメータ:
seconds- 新しいクエリー・タイ アウトの制限値の秒数。ゼロは無制限を意味する- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、または条件seconds >= 0が満たされない 合- 関連 目:
-
cancel
void cancel() throws SQLExceptionDBMSおよびドライバの両方がSQL文の終了をサポートする 合に、このStatementオブジェクトを取り消します。 このメソッドは、1つのスレッドが別のスレッドによって実行中の文を取り消すのに使用できます。- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない 合
-
getWarnings
SQLWarning getWarnings() throws SQLExceptionこのStatementオブジェクトに関する呼出しによって 告される最初の警告を取得します。 後続のStatementオブジェクトの警告は、このSQLWarningオブジェクトにチェーンされます。警告チェーンは、文が(再)実行されるたびに自動的にクリアされます。 このメソッドはクローズされた
Statementオブジェクトの呼出しには使用しません。使用するとSQLExceptionがスローされます。ノート:
ResultSetオブジェクトを処理中の 合、ResultSetオブジェクトの読込みに関連する警告はそのオブジェクトを生成したStatementオブジェクトではなくすべてResultSetオブジェクトにチェーンされます。- 戻り値:
- 最初の
SQLWarningオブジェクト。警告がない 合はnull - スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合
-
clearWarnings
void clearWarnings() throws SQLExceptionこのStatementオブジェクトに関して 告されたすべての警告をクリアします。 このメソッドを呼び出したあと、このStatementオブジェクトに対する新しい警告が通知されるまで、getWarningsメソッドはnullを返します。- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合
-
setCursorName
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ドライバがこのメソッドをサポートしない 合
-
execute
boolean execute(String sql) throws SQLException 複数の結果を返す可能性のある指定されたSQL文を実行します。 いくつかの(一般的でない)状況では、単一のSQL文が複数の結果セットあるいは更新カウントを返すことがあります。 複数の結果を返すことがあることがわかっているストアド・プロシージャを実行中、または未知のSQL文字列を動的に実行中でないかぎり、通常はこれを無視できます。executeメソッドは、SQL文を実行し最初の結果の形式を示します。 次に、getResultSetまたはgetUpdateCountメソッドを使用して結果を取得します。そして、getMoreResultsにより引き続き任意の結果の取得(複数可)に移動します。ノート: このメソッドを
PreparedStatementまたはCallableStatementに対して呼び出すことはできません。- パラメータ:
sql- 任意のSQL文- 戻り値:
- 最初の結果が
ResultSetオブジェクトの 合はtrue。更新カウントであるか、または結果がない 合はfalse - スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、またはメソッドがPreparedStatementまたはCallableStatementで呼び出された 合SQLTimeoutException- ドライバが、setQueryTimeoutメソッドで指定されたタイ ・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたとき- 関連 目:
-
getResultSet
ResultSet getResultSet() throws SQLExceptionResultSetオブジェクトとして現在の結果を取得します。 このメソッドは、1つの結果につき1回 け呼び出す必要があります。- 戻り値:
ResultSetオブジェクトとしての現在の結果。結果が更新カウントであるか、または結果がない 合はnull- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合- 関連 目:
-
getUpdateCount
int getUpdateCount() throws SQLException更新カウントとして現在の結果を取得します。結果がResultSetオブジェクトであるか、または結果がない 合は -1を返します。 このメソッドは、1つの結果につき1回 け呼び出す必要があります。- 戻り値:
- 更新カウントしての現在の結果。現在の結果が
ResultSetオブジェクトであるか、または結果がない 合は -1 - スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合- 関連 目:
-
getMoreResults
boolean getMoreResults() throws SQLExceptionStatementオブジェクトの次の結果に移動します。この結果がResultSetオブジェクトの 合はtrueを返し、getResultSetメソッドで得られた現在のResultSetオブジェクトをすべて暗黙にクローズします。次に該当する 合、結果はありません。
// stmt is a Statement object ((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1))- 戻り値:
- 次の結果が
ResultSetオブジェクトの 合はtrue。更新カウントであるか、または結果がない 合はfalse - スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合- 関連 目:
-
setFetchDirection
void setFetchDirection(int direction) throws SQLException Statementオブジェクトを使用して作成されたResultSetオブジェクトの行が処理される方向についてのヒントをドライバに提供します。 デフォルト値はResultSet.FETCH_FORWARDです。このメソッドは、この
Statementオブジェクトによって生成される結果セットのデフォルトのフェッチ方向を設定します。 各結果セットは、それ自身のフェッチ方向を取得および設定するための独自のメソッドを持ちます。- パラメータ:
direction- 行を処理する初期方向- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、または指定された方向がResultSet.FETCH_FORWARD、ResultSet.FETCH_REVERSE、またはResultSet.FETCH_UNKNOWNのどれでもない 合- 導入されたバージョン:
- 1.2
- 関連 目:
-
getFetchDirection
int getFetchDirection() throws SQLExceptionこのStatementオブジェクトから生成された結果セットのデフォルトである、データベース表から行をフェッチする方向を取得します。 このStatementオブジェクトがsetFetchDirectionメソッドを呼び出してフェッチ方向を設定していない 合、戻り値は実装に依存します。- 戻り値:
- この
Statementオブジェクトから生成された結果セットのデフォルトのフェッチ方向 - スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合- 導入されたバージョン:
- 1.2
- 関連 目:
-
setFetchSize
void setFetchSize(int rows) throws SQLException このStatementで作成されたResultSetオブジェクトでより多くの行が必要なときにデータベースから取り出す必要がある行数についてのヒントをJDBCドライバに提供します。 指定された値が0の 合、ヒントは無視されます。 デフォルト値は0です。- パラメータ:
rows- フェッチする行数- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、または条件rows>= 0が満たされない 合。- 導入されたバージョン:
- 1.2
- 関連 目:
-
getFetchSize
int getFetchSize() throws SQLExceptionこのStatementオブジェクトから生成されたResultSetオブジェクトのデフォルトのフェッチ・サイズである、結果セットの行数を取得します。 このStatementオブジェクトがsetFetchSizeメソッドを呼び出してフェッチ・サイズを設定していない 合、戻り値は実装に依存します。- 戻り値:
- この
Statementオブジェクトから生成された結果セットのデフォルトのフェッチ・サイズ - スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合- 導入されたバージョン:
- 1.2
- 関連 目:
-
getResultSetConcurrency
int getResultSetConcurrency() throws SQLExceptionこのStatementオブジェクトから生成されたResultSetオブジェクトの結果セットの並行処理を取得します。- 戻り値:
ResultSet.CONCUR_READ_ONLYまたはResultSet.CONCUR_UPDATABLE- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合- 導入されたバージョン:
- 1.2
-
getResultSetType
int getResultSetType() throws SQLExceptionこのStatementオブジェクトから生成されたResultSetオブジェクトの結果セットのタイプを取得します。- 戻り値:
ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE、ResultSet.TYPE_SCROLL_SENSITIVEのいずれか- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合- 導入されたバージョン:
- 1.2
-
addBatch
void addBatch(String sql) throws SQLException このStatementオブジェクトの現在のコマンドのリストに、指定されたSQLコマンドを追 します。 このリストのコマンドはexecuteBatchメソッドを呼び出すことにより、バッチとして実行できます。ノート: このメソッドを
PreparedStatementまたはCallableStatementに対して呼び出すことはできません。- パラメータ:
sql- 通常はSQLINSERT文またはUPDATE文- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、ドライバがバッチ更新をサポートしない 合、メソッドがPreparedStatementまたはCallableStatementで呼び出された 合- 導入されたバージョン:
- 1.2
- 関連 目:
-
clearBatch
void clearBatch() throws SQLExceptionこのStatementオブジェクトの現在のSQLコマンド・リストを空にします。- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、またはドライバがバッチ更新をサポートしない 合- 導入されたバージョン:
- 1.2
- 関連 目:
-
executeBatch
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オブジェクトがスローされた後にバッチ更新内のコマンドの処理を継続できるオプションが用意されています。- 戻り値:
- バッチ内のコマンドごとに1つの要 が 納されている更新カウントの配列。 配列の要 はコマンドがバッチに追 された 序で並べられる。
- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、またはドライバがバッチ文をサポートしない 合。 データベースに送信されたコマンドの1つが正常に実行されなかった 合や、結果セットを返そうとした 合は、BatchUpdateException(SQLExceptionのサブクラス)がスローされる。SQLTimeoutException- ドライバが、setQueryTimeoutメソッドで指定されたタイ ・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたとき- 導入されたバージョン:
- 1.2
- 関連 目:
-
getConnection
Connection getConnection() throws SQLExceptionこのStatementオブジェクトを生成したConnectionオブジェクトを取得します。- 戻り値:
- この文を生成した接続
- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合- 導入されたバージョン:
- 1.2
-
getMoreResults
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が指定されている 合。- 導入されたバージョン:
- 1.4
- 関連 目:
-
getGeneratedKeys
ResultSet getGeneratedKeys() throws SQLExceptionこのStatementオブジェクトを実行した結果として作成された自動生成キーを取得します。 このStatementオブジェクトがキーを生成しなかった 合は、空のResultSetオブジェクトが返されます。ノート: 自動生成キーを表す列が指定されなかった 合、JDBCドライバ実装では、自動生成キーを表すのに最適な列を判断します。
- 戻り値:
- この
Statementオブジェクトの実行で生成された自動生成キーを含むResultSetオブジェクト - スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない 合- 導入されたバージョン:
- 1.4
-
executeUpdate
int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException 指定されたSQL文を実行し、このStatementオブジェクトによって生成された自動生成キーを検索可能にするかどうかについて指定されたフラグでドライバに通知します。 SQL文がINSERT文でない 合、または自動生成キーを返すことができるSQL文でない 合(そのような文のリストはベンダー固有)、ドライバはフラグを無視します。ノート: このメソッドを
PreparedStatementまたはCallableStatementに対して呼び出すことはできません。- パラメータ:
sql- SQLINSERT文、UPDATE文、またはDELETE文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文autoGeneratedKeys- 自動生成キーを検索可能にするかどうかを示すフラグ。定数Statement.RETURN_GENERATED_KEYSまたはStatement.NO_GENERATED_KEYS- 戻り値:
- (1) SQLデータ操作言語(DML)文の 合は行数、(2)何も返さないSQL文の 合は0
- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、指定されたSQL文がResultSetオブジェクトを返す 合、指定された定数が許可されているものでない 合、メソッドがPreparedStatementまたはCallableStatementで呼び出された 合SQLFeatureNotSupportedException- JDBCドライバが定数Statement.RETURN_GENERATED_KEYSを指定したこのメソッドをサポートしない 合SQLTimeoutException- ドライバが、setQueryTimeoutメソッドで指定されたタイ ・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたとき- 導入されたバージョン:
- 1.4
-
executeUpdate
int executeUpdate(String sql, int[] columnIndexes) throws SQLException 指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。 この配列は検索可能にする自動生成キーを含むターゲット表の列のインデックスを含みます。 SQL文がINSERT文でない 合、または自動生成キーを返すことができるSQL文でない 合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。ノート: このメソッドを
PreparedStatementまたはCallableStatementに対して呼び出すことはできません。- パラメータ:
sql- SQLINSERT文、UPDATE文、またはDELETE文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文columnIndexes- 挿入された行から返される列を示す列インデックスの配列- 戻り値:
- (1) SQLデータ操作言語(DML)文の 合は行数、(2)何も返さないSQL文の 合は0
- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドは閉じられたStatementでコールされ、SQL文はResultSetオブジェクトを返します。このメソッドに指定される2番目の引数は、要 が有効な列索引であるint配列ではありません。このメソッドは、PreparedStatementまたはCallableStatementでコールされますSQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない 合SQLTimeoutException- ドライバが、setQueryTimeoutメソッドで指定されたタイ ・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたとき- 導入されたバージョン:
- 1.4
-
executeUpdate
int executeUpdate(String sql, String[] columnNames) throws SQLException 指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。 この配列は検索可能にする自動生成キーを含むターゲット表の列の名前を含みます。 SQL文がINSERT文でない 合、または自動生成キーを返すことができるSQL文でない 合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。ノート: このメソッドを
PreparedStatementまたはCallableStatementに対して呼び出すことはできません。- パラメータ:
sql- SQLINSERT文、UPDATE文、またはDELETE文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文columnNames- 挿入された行から返される列の名前の配列- 戻り値:
INSERT文、UPDATE文、DELETE文の 合は行数。何も返さないSQL文の 合は0- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、SQL文がResultSetオブジェクトを返す 合、このメソッドに指定された2番目の引数が、有効な列名を要 とするString配列ではない 合、メソッドがPreparedStatementまたはCallableStatementで呼び出された 合SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない 合SQLTimeoutException- ドライバが、setQueryTimeoutメソッドで指定されたタイ ・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたとき- 導入されたバージョン:
- 1.4
-
execute
boolean execute(String sql, int autoGeneratedKeys) throws SQLException 複数の結果を返す可能性のある指定されたSQL文を実行し、すべての自動生成キーを検索可能にするかどうかについてドライバに通知します。 SQL文が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の取消しを試みたとき- 導入されたバージョン:
- 1.4
- 関連 目:
-
execute
boolean execute(String sql, int[] columnIndexes) throws SQLException 複数の結果を返す可能性のある指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。 この配列は検索可能にする自動生成キーを含むターゲット表の列のインデックスを含みます。 SQL文が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の取消しを試みたとき- 導入されたバージョン:
- 1.4
- 関連 目:
-
execute
boolean execute(String sql, String[] columnNames) throws SQLException 複数の結果を返す可能性のある指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。 この配列は検索可能にする自動生成キーを含むターゲット表の列の名前を含みます。 SQL文が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の取消しを試みたとき- 導入されたバージョン:
- 1.4
- 関連 目:
-
getResultSetHoldability
int getResultSetHoldability() throws SQLExceptionこのStatementオブジェクトから生成されたResultSetオブジェクトの結果セットの保持機能を取得します。- 戻り値:
ResultSet.HOLD_CURSORS_OVER_COMMITまたはResultSet.CLOSE_CURSORS_AT_COMMIT- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合- 導入されたバージョン:
- 1.4
-
isClosed
boolean isClosed() throws SQLExceptionこのStatementオブジェクトがクローズされているかどうかを取得します。Statementでcloseメソッドが呼び出されるか、または自動的にクローズされる 合、このオブジェクトはクローズされます。- 戻り値:
- この
Statementオブジェクトがクローズされている 合はtrue、ま オープンの状態の 合はfalse - スロー:
SQLException- データベース・アクセス・エラーが発生した 合- 導入されたバージョン:
- 1.6
-
setPoolable
void setPoolable(boolean poolable) throws SQLException Statementをプールすること、またはプールしないことを要求します。 指定された値は、文のプール実装のヒントで、アプリケーションで文がプールされる必要があるかどうかを示します。 ヒントが使用されるかどうかは、文のプール管理プログラ によって異なります。文のプール可能な値は、ドライバによって実装される内部文キャッシュと、アプリケーション・サーバーやその他のアプリケーションによって実装される外部文キャッシュの両方に適用されます。
デフォルトで、
Statementは作成時にプール可能ではありませんが、PreparedStatementおよびCallableStatementは作成時にプール可能です。- パラメータ:
poolable- trueの 合は文をプールすること、falseの 合は文をプールしないことを要求する- スロー:
SQLException- このメソッドがクローズされたStatementで呼び出された 合- 導入されたバージョン:
- 1.6
-
isPoolable
boolean isPoolable() throws SQLExceptionStatementがプール可能かどうかを示す値を返します。- 戻り値:
Statementがプール可能である 合はtrue、そうでない 合はfalse- スロー:
SQLException- このメソッドがクローズされたStatementで呼び出された 合- 導入されたバージョン:
- 1.6
- 関連 目:
-
closeOnCompletion
void closeOnCompletion() throws SQLExceptionこのStatementに依存するすべての結果セットがクローズされたときにこのStatementがクローズされることを示します。Statementの実行によって結果セットが生成されない 合、このメソッドは無効です。ノート:
closeOnCompletionを複数回呼び出してもこのStatementへの効果は切り替わりません。 た し、closeOnCompletionの呼出しは、文のその後の実行と、現在開いていて依存されている結果セットがある文の両方に影響します。- スロー:
SQLException- このメソッドがクローズされたStatementで呼び出された 合- 導入されたバージョン:
- 1.7
-
isCloseOnCompletion
boolean isCloseOnCompletion() throws SQLExceptionこのStatementに依存するすべての結果セットがクローズされたときにこのStatementがクローズされるかどうかを示す値を取得します。- 戻り値:
- この
Statementが、依存するすべての結果セットがクローズされたときにクローズされる 合はtrue、そうでない 合はfalse - スロー:
SQLException- このメソッドがクローズされたStatementで呼び出された 合- 導入されたバージョン:
- 1.7
-
getLargeUpdateCount
default long getLargeUpdateCount() throws SQLException更新カウントとして現在の結果を取得します。結果がResultSetオブジェクトであるか、または結果がない 合は -1を返します。 このメソッドは、1つの結果につき1回 け呼び出す必要があります。返される行数が
Integer.MAX_VALUEを超える可能性がある 合は、このメソッドを使用するようにしてく さい。デフォルト実装は
UnsupportedOperationExceptionをスローします- 戻り値:
- 更新カウントしての現在の結果。現在の結果が
ResultSetオブジェクトであるか、または結果がない 合は -1 - スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合- 導入されたバージョン:
- 1.8
- 関連 目:
-
setLargeMaxRows
default void setLargeMaxRows(long max) throws SQLException このStatementオブジェクトで作成された任意のResultSetオブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。 制限値を超えた行は通知なしに除外されます。行制限が
Integer.MAX_VALUEを超える可能性がある 合は、このメソッドを使用するようにしてく さい。デフォルト実装は
UnsupportedOperationExceptionをスローします- パラメータ:
max- 新しい最大行数の制限値。ゼロは無制限を意味する- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、または条件max >= 0が満たされない 合- 導入されたバージョン:
- 1.8
- 関連 目:
-
getLargeMaxRows
default long getLargeMaxRows() throws SQLExceptionこのStatementオブジェクトによって生成されるResultSetオブジェクトに含めることのできる最大行数を取得します。 制限値を超えた行は通知なしに除外されます。返される行制限が
Integer.MAX_VALUEを超える可能性がある 合は、このメソッドを使用するようにしてく さい。デフォルト実装は
0を返します- 戻り値:
- この
Statementオブジェクトによって生成されるResultSetオブジェクトの現在の最大行数。ゼロは無制限を意味する - スロー:
SQLException- データベース・アクセス・エラーが発生した 合、またはこのメソッドがクローズされたStatementについて呼び出された 合- 導入されたバージョン:
- 1.8
- 関連 目:
-
executeLargeBatch
default long[] executeLargeBatch() throws SQLExceptionコマンドのバッチをデータベースに送信して実行し、すべてのコマンドが正常に実行されると、更新カウントの配列を返します。 返される配列のlong要 は、バッチ内のコマンドに対応して 序付けられます。つまり、コマンドがバッチに追 された 序に従って 序付けられます。executeLargeBatchメソッドによって返される配列内の要 は、次のいずれかである可能性があります。- ゼロ以上の数値 -- コマンドが正常に処理されたことを示し、コマンドの実行によって影響を受けたデータベース内の行数を指定する更新カウントです。
SUCCESS_NO_INFOの値 -- コマンドが正常に処理されたが、影響を受けた行数が不明なことを示しますバッチ更新内のコマンドの1つが正常に実行できなかった 合、このメソッドは
BatchUpdateExceptionをスローし、JDBCドライバはバッチ内の残りのコマンドの処理を継続することも、中止することもできます。 た し、ドライバの動作は特定のDBMSと一貫性を保つ必要があり、常にコマンドの処理を継続するか、あるいは継続しないかのどちらかになります。 失敗後、ドライバが処理を継続する 合は、BatchUpdateException.getLargeUpdateCountsメソッドで返される配列にバッチ内のコマンドと同じ数の要 が 納され、それらの要 の1つ以上が次に該当します。EXECUTE_FAILEDの値 -- 失敗したコマンドが正常に実行されたことを示し、コマンドが失敗したあとに、ドライバがコマンドの処理を継続した 合に限り発生します。
返される行数が
Integer.MAX_VALUEを超える可能性がある 合は、このメソッドを使用するようにしてく さい。デフォルト実装は
UnsupportedOperationExceptionをスローします- 戻り値:
- バッチ内のコマンドごとに1つの要 が 納されている更新カウントの配列。 配列の要 はコマンドがバッチに追 された 序で並べられる。
- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、またはドライバがバッチ文をサポートしない 合。 データベースに送信されたコマンドの1つが正常に実行されなかった 合や、結果セットを返そうとした 合は、BatchUpdateException(SQLExceptionのサブクラス)がスローされる。SQLTimeoutException- ドライバが、setQueryTimeoutメソッドで指定されたタイ ・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたとき- 導入されたバージョン:
- 1.8
- 関連 目:
-
executeLargeUpdate
default long executeLargeUpdate(String sql) throws SQLException 指定されたSQL文を実行します。SQL文は、INSERT文、UPDATE文、DELETE文、またはSQL DDL文のような何も返さないSQL文の 合があります。返される行数が
Integer.MAX_VALUEを超える可能性がある 合は、このメソッドを使用するようにしてく さい。ノート: このメソッドを
PreparedStatementまたはCallableStatementに対して呼び出すことはできません。デフォルト実装は
UnsupportedOperationExceptionをスローします- パラメータ:
sql- SQLINSERT文、UPDATE文、またはDELETE文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文- 戻り値:
- (1) SQLデータ操作言語(DML)文の 合は行数、(2)何も返さないSQL文の 合は0
- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、または指定されたSQL文がResultSetオブジェクトを生成した 合、メソッドがPreparedStatementまたはCallableStatementで呼び出された 合SQLTimeoutException- ドライバが、setQueryTimeoutメソッドで指定されたタイ ・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたとき- 導入されたバージョン:
- 1.8
-
executeLargeUpdate
default long executeLargeUpdate(String sql, int autoGeneratedKeys) throws SQLException 指定されたSQL文を実行し、このStatementオブジェクトによって生成された自動生成キーを検索可能にするかどうかについて指定されたフラグでドライバに通知します。 SQL文がINSERT文でない 合、または自動生成キーを返すことができるSQL文でない 合(そのような文のリストはベンダー固有)、ドライバはフラグを無視します。返される行数が
Integer.MAX_VALUEを超える可能性がある 合は、このメソッドを使用するようにしてく さい。ノート: このメソッドを
PreparedStatementまたはCallableStatementに対して呼び出すことはできません。デフォルト実装は
SQLFeatureNotSupportedExceptionをスローします- パラメータ:
sql- SQLINSERT文、UPDATE文、またはDELETE文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文autoGeneratedKeys- 自動生成キーを検索可能にするかどうかを示すフラグ。定数Statement.RETURN_GENERATED_KEYSまたはStatement.NO_GENERATED_KEYS- 戻り値:
- (1) SQLデータ操作言語(DML)文の 合は行数、(2)何も返さないSQL文の 合は0
- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、指定されたSQL文がResultSetオブジェクトを返す 合、指定された定数が許可されているものでない 合、メソッドがPreparedStatementまたはCallableStatementで呼び出された 合SQLFeatureNotSupportedException- JDBCドライバが定数Statement.RETURN_GENERATED_KEYSを指定したこのメソッドをサポートしない 合SQLTimeoutException- ドライバが、setQueryTimeoutメソッドで指定されたタイ ・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたとき- 導入されたバージョン:
- 1.8
-
executeLargeUpdate
default long executeLargeUpdate(String sql, int[] columnIndexes) throws SQLException 指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。 この配列は検索可能にする自動生成キーを含むターゲット表の列のインデックスを含みます。 SQL文がINSERT文でない 合、または自動生成キーを返すことができるSQL文でない 合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。返される行数が
Integer.MAX_VALUEを超える可能性がある 合は、このメソッドを使用するようにしてく さい。ノート: このメソッドを
PreparedStatementまたはCallableStatementに対して呼び出すことはできません。デフォルト実装は
SQLFeatureNotSupportedExceptionをスローします- パラメータ:
sql- SQLINSERT文、UPDATE文、またはDELETE文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文columnIndexes- 挿入された行から返される列を示す列インデックスの配列- 戻り値:
- (1) SQLデータ操作言語(DML)文の 合は行数、(2)何も返さないSQL文の 合は0
- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、SQL文がResultSetオブジェクトを返す 合、このメソッドに指定された2番目の引数が、有効な列インデックスを要 とするint配列ではない 合、メソッドがPreparedStatementまたはCallableStatementで呼び出された 合SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない 合SQLTimeoutException- ドライバが、setQueryTimeoutメソッドで指定されたタイ ・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたとき- 導入されたバージョン:
- 1.8
-
executeLargeUpdate
default long executeLargeUpdate(String sql, String[] columnNames) throws SQLException 指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。 この配列は検索可能にする自動生成キーを含むターゲット表の列の名前を含みます。 SQL文がINSERT文でない 合、または自動生成キーを返すことができるSQL文でない 合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。返される行数が
Integer.MAX_VALUEを超える可能性がある 合は、このメソッドを使用するようにしてく さい。ノート: このメソッドを
PreparedStatementまたはCallableStatementに対して呼び出すことはできません。デフォルト実装は
SQLFeatureNotSupportedExceptionをスローします- パラメータ:
sql- SQLINSERT文、UPDATE文、またはDELETE文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文columnNames- 挿入された行から返される列の名前の配列- 戻り値:
INSERT文、UPDATE文、DELETE文の 合は行数。何も返さないSQL文の 合は0- スロー:
SQLException- データベース・アクセス・エラーが発生した 合、このメソッドがクローズされたStatementで呼び出された 合、SQL文がResultSetオブジェクトを返す 合、このメソッドに指定された2番目の引数が、有効な列名を要 とするString配列ではない 合、メソッドがPreparedStatementまたはCallableStatementで呼び出された 合SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない 合SQLTimeoutException- ドライバが、setQueryTimeoutメソッドで指定されたタイ ・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたとき- 導入されたバージョン:
- 1.8
-
enquoteLiteral
default String enquoteLiteral(String val) throws SQLException 一重引用符で囲まれたStringを返します。 文字列内で一重引用符が出現すると、2つの一重引用符で置換されます。変換の例: 値 Result Hello 'Hello' G'Day 'G''Day' 'G''Day' '''G''''Day''' I'''M 'I''''''M' - 実装上のノート:
- JDBCドライバの実装では、基礎となるデータソースの要件を満たすために、このメソッドの独自の実装を提供する必要がある 合があります。
- パラメータ:
val- 文字列- 戻り値:
- 一重引用符で囲まれた文字列。二重引用符に変換されます。
- スロー:
NullPointerException- valがnullの 合SQLException- データベース・アクセス・エラーが発生した 合- 導入されたバージョン:
- 9
-
enquoteIdentifier
default String enquoteIdentifier(String identifier, boolean alwaysQuote) throws SQLException SQL識別子を戻します。identifierが単純なSQL識別子である 合:alwaysQuoteがfalseの 合は元の値を返します。alwaysQuoteがtrueの 合、区切り識別子を返します。
identifierが単純なSQL識別子でない 合、identifierは、ま 存在していない 合は二重引用符で囲まれます。 データソースが区切り識別子の二重引用符をサポートしていない 合、識別子はDatabaseMetaData.getIdentifierQuoteString()から返された文字列で囲む必要があります。 データソースが区切り識別子をサポートしていない 合は、SQLFeatureNotSupportedExceptionをスローする必要があります。identifierにデリミタ付き識別子で無効な文字が含まれているか、識別子の長さがデータソースに対して無効な 合は、SQLExceptionがスローされます。- 実装要件:
- デフォルトの実装では、次の条件を使用して有効な単純なSQL識別子を判別します:
- 文字列は二重引用符で囲まれていません
- 最初の文字は、aからz、またはAからZのアルファベット文字です
- 名前には、英数字または文字"_"のみが含まれています
SQLExceptionがスローされます:identifierは、null文字または二重引用符を含み、単純なSQL識別子ではありません。identifierの長さが1未満または128文字を超える
変換の例: identifier alwaysQuote Result Hello false Hello Hello true "Hello" G'Day false "G'Day" "Bruce Wayne" false "Bruce Wayne" "Bruce Wayne" true "Bruce Wayne" GoodDay$ false "GoodDay$" Hello"World false SQLException "Hello"World" false SQLException - 実装上のノート:
- JDBCドライバの実装では、基礎となるデータソースの要件を満たすために、このメソッドの独自の実装を提供する必要がある 合があります。
- パラメータ:
identifier- SQL識別子alwaysQuote- 単純なSQL識別子を引用された識別子として返すべきかどうかを示します- 戻り値:
- 単純なSQL識別子または区切られた識別子
- スロー:
SQLException- identifierが有効な識別子でない 合SQLFeatureNotSupportedException- データソースが区切られた識別子をサポートしていない 合NullPointerException- 識別子がnullの 合- 導入されたバージョン:
- 9
-
isSimpleIdentifier
default boolean isSimpleIdentifier(String identifier) throws SQLException identifierが単純なSQL識別子であるかどうかを取得します。- 実装要件:
- デフォルトの実装では、次の条件を使用して有効な単純なSQL識別子を判別します:
- 文字列は二重引用符で囲まれていません
- 最初の文字は、aからz、またはAからZのアルファベット文字です
- 文字列には、英数字または文字"_"のみが含まれます。
- 文字列の長さは1〜128文字(包含)です
変換の例: identifier 単純な識別子 Hello true G'Day false "Bruce Wayne" false GoodDay$ false Hello"World false "Hello"World" false - 実装上のノート:
- JDBCドライバの実装では、基礎となるデータソースの要件を満たすために、このメソッドの独自の実装を提供する必要がある 合があります。
- パラメータ:
identifier- SQL識別子- 戻り値:
- 単純なSQL識別子の 合はtrue、それ以外の 合はfalse
- スロー:
NullPointerException- 識別子がnullの 合SQLException- データベース・アクセス・エラーが発生した 合- 導入されたバージョン:
- 9
-
enquoteNCharLiteral
default String enquoteNCharLiteral(String val) throws SQLException 一重引用符で囲まれ、先 に大文字のNが付いた各国語文字セット・リテラルを表すStringを返します。 文字列内で一重引用符が出現すると、2つの一重引用符で置換されます。変換の例: 値 Result Hello N'Hello' G'Day N'G''Day' 'G''Day' N'''G''''Day''' I'''M N'I''''''M' N'Hello' N'N''Hello''' - 実装上のノート:
- JDBCドライバの実装では、基礎となるデータソースの要件を満たすために、このメソッドの独自の実装を提供する必要がある 合があります。 enquoteNCharLiteralの実装では、enquoteLiteralの同じドライバ実装で受け入れられるものとは異なる文字セットを使用できます。
- パラメータ:
val- 文字列- 戻り値:
- 引数内のすべての一重引用符文字を2つの一重引用符文字で置換した結果、この結果全体の先 にNが付きます。
- スロー:
NullPointerException- valがnullの 合SQLException- データベース・アクセス・エラーが発生した 合- 導入されたバージョン:
- 9
-