- 
- すべてのスーパー・インタフェース:
- AutoCloseable,- Wrapper
 - 既知のすべてのサブインタフェース:
- CallableStatement,- PreparedStatement
 
 
 public interface Statement extends Wrapper, AutoCloseable 静的SQL文を実行し、作成された結果を返すために使用されるオブジェクトです。 デフォルトでは、 Statementオブジェクトごとに、同時に開くことができるResultSetオブジェクトは1つだけです。 したがって、1つのResultSetオブジェクトの読込みが、別の読込みにより割り込まれると、各々は異なったStatementオブジェクトによって生成されたことになります。Statementインタフェースのすべての実行メソッドは、文の現在のResultSetオブジェクトでオープンされているものが存在すれば、それを暗黙にクローズします。- 導入されたバージョン:
- 1.1
- 関連項目:
- Connection.createStatement()、- ResultSet
 
- 
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 static intCLOSE_ALL_RESULTSgetMoreResultsが呼び出されたときに、直前までオープンされていたすべてのResultSetオブジェクトがクローズされることを示す定数です。static intCLOSE_CURRENT_RESULTgetMoreResultsが呼び出されたときに、現在のResultSetオブジェクトがクローズされることを示す定数です。static intEXECUTE_FAILEDバッチ文の実行中にエラーが発生したことを示す定数です。static intKEEP_CURRENT_RESULTgetMoreResultsが呼び出されたときに、現在のResultSetオブジェクトがクローズされないことを示す定数です。static intNO_GENERATED_KEYS生成されたキーを検索可能にしないことを示す定数です。static intRETURN_GENERATED_KEYS生成されたキーを検索可能にすることを示す定数です。static intSUCCESS_NO_INFOバッチ文が正常に実行されたが、影響を受けた行数が不明なことを示す定数です。
 - 
メソッドのサマリーすべてのメソッド インスタンス・メソッド 抽象メソッド デフォルト・メソッド 修飾子と型 メソッド 説明 voidaddBatch(String sql)このStatementオブジェクトの現在のコマンドのリストに、指定されたSQLコマンドを追加します。voidcancel()DBMSおよびドライバの両方がSQL文の終了をサポートする場合に、このStatementオブジェクトを取り消します。voidclearBatch()このStatementオブジェクトの現在のSQLコマンド・リストを空にします。voidclearWarnings()このStatementオブジェクトに関して報告されたすべての警告をクリアします。voidclose()自動的にクローズされるときにStatementオブジェクトのデータベースとJDBCリソースが解放されるのを待つのではなく、ただちにそれらを解放します。voidcloseOnCompletion()このStatementに依存するすべての結果セットがクローズされたときにこのStatementがクローズされることを示します。default StringenquoteIdentifier(String identifier, boolean alwaysQuote)SQL識別子を返します。default StringenquoteLiteral(String val)単一引用符で囲まれたStringを返します。default StringenquoteNCharLiteral(String val)一重引用符で囲まれ、大文字のNで始まる国別文字セット・リテラルを表すStringを返します。booleanexecute(String sql)複数の結果を返す可能性のある指定されたSQL文を実行します。booleanexecute(String sql, int autoGeneratedKeys)複数の結果を返す可能性のある指定されたSQL文を実行し、すべての自動生成キーを検索可能にするかどうかについてドライバに通知します。booleanexecute(String sql, int[] columnIndexes)複数の結果を返す可能性のある指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。booleanexecute(String sql, String[] columnNames)複数の結果を返す可能性のある指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。int[]executeBatch()コマンドのバッチをデータベースに送信して実行し、すべてのコマンドが正常に実行されると、更新カウントの配列を返します。default long[]executeLargeBatch()コマンドのバッチをデータベースに送信して実行し、すべてのコマンドが正常に実行されると、更新カウントの配列を返します。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文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。ResultSetexecuteQuery(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文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。ConnectiongetConnection()このStatementオブジェクトを生成したConnectionオブジェクトを取得します。intgetFetchDirection()このStatementオブジェクトから生成された結果セットのデフォルトである、データベース表から行をフェッチする方向を取得します。intgetFetchSize()このStatementオブジェクトから生成されたResultSetオブジェクトのデフォルトのフェッチ・サイズである、結果セットの行数を取得します。ResultSetgetGeneratedKeys()このStatementオブジェクトを実行した結果として作成された自動生成キーを取得します。default longgetLargeMaxRows()このStatementオブジェクトによって生成されるResultSetオブジェクトに含めることのできる最大行数を取得します。default longgetLargeUpdateCount()更新カウントとして現在の結果を取得します。結果がResultSetオブジェクトであるか、または結果がない場合は -1を返します。intgetMaxFieldSize()このStatementオブジェクトによって生成されるResultSetオブジェクトの文字およびバイナリの各列値に対し返される最大バイト数を取得します。intgetMaxRows()このStatementオブジェクトによって生成されるResultSetオブジェクトに含めることのできる最大行数を取得します。booleangetMoreResults()Statementオブジェクトの次の結果に移動します。この結果がResultSetオブジェクトの場合はtrueを返し、getResultSetメソッドで得られた現在のResultSetオブジェクトをすべて暗黙にクローズします。booleangetMoreResults(int current)Statementオブジェクトの次の結果に移動します。指定されたフラグによって指定された命令に従ってすべての現在のResultSetオブジェクトを処理し、次の結果がResultSetオブジェクトの場合はtrueを返します。intgetQueryTimeout()ドライバがStatementオブジェクトの実行を待つ秒数を取得します。ResultSetgetResultSet()ResultSetオブジェクトとして現在の結果を取得します。intgetResultSetConcurrency()このStatementオブジェクトから生成されたResultSetオブジェクトの結果セットの並行処理を取得します。intgetResultSetHoldability()このStatementオブジェクトから生成されたResultSetオブジェクトの結果セットの保持機能を取得します。intgetResultSetType()このStatementオブジェクトから生成されたResultSetオブジェクトの結果セットのタイプを取得します。intgetUpdateCount()更新カウントとして現在の結果を取得します。結果がResultSetオブジェクトであるか、または結果がない場合は -1を返します。SQLWarninggetWarnings()このStatementオブジェクトに関する呼出しによって報告される最初の警告を取得します。booleanisClosed()このStatementオブジェクトがクローズされているかどうかを取得します。booleanisCloseOnCompletion()このStatementに依存するすべての結果セットがクローズされたときにこのStatementがクローズされるかどうかを示す値を取得します。booleanisPoolable()Statementがプール可能かどうかを示す値を返します。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_RESULTstatic final int CLOSE_CURRENT_RESULT getMoreResultsが呼び出されたときに、現在のResultSetオブジェクトがクローズされることを示す定数です。- 導入されたバージョン:
- 1.4
- 関連項目:
- 定数フィールド値
 
 - 
KEEP_CURRENT_RESULTstatic final int KEEP_CURRENT_RESULT getMoreResultsが呼び出されたときに、現在のResultSetオブジェクトがクローズされないことを示す定数です。- 導入されたバージョン:
- 1.4
- 関連項目:
- 定数フィールド値
 
 - 
CLOSE_ALL_RESULTSstatic final int CLOSE_ALL_RESULTS getMoreResultsが呼び出されたときに、直前までオープンされていたすべてのResultSetオブジェクトがクローズされることを示す定数です。- 導入されたバージョン:
- 1.4
- 関連項目:
- 定数フィールド値
 
 - 
SUCCESS_NO_INFOstatic final int SUCCESS_NO_INFO バッチ文が正常に実行されたが、影響を受けた行数が不明なことを示す定数です。- 導入されたバージョン:
- 1.4
- 関連項目:
- 定数フィールド値
 
 - 
EXECUTE_FAILEDstatic final int EXECUTE_FAILED バッチ文の実行中にエラーが発生したことを示す定数です。- 導入されたバージョン:
- 1.4
- 関連項目:
- 定数フィールド値
 
 - 
RETURN_GENERATED_KEYSstatic final int RETURN_GENERATED_KEYS 生成されたキーを検索可能にすることを示す定数です。- 導入されたバージョン:
- 1.4
- 関連項目:
- 定数フィールド値
 
 - 
NO_GENERATED_KEYSstatic final int NO_GENERATED_KEYS 生成されたキーを検索可能にしないことを示す定数です。- 導入されたバージョン:
- 1.4
- 関連項目:
- 定数フィールド値
 
 
- 
 - 
メソッドの詳細- 
executeQueryResultSet executeQuery(String sql) throws SQLException 単一のResultSetオブジェクトを返す、指定されたSQL文を実行します。注: このメソッドを PreparedStatementまたはCallableStatementに対して呼び出すことはできません。- パラメータ:
- sql- データベースに送られるSQL文。通常静的SQL- SELECT文
- 戻り値:
- 指定されたクエリーによって作成されたデータを含むResultSetオブジェクト。nullにはならない
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた- Statementで呼び出された場合、指定されたSQL文が単一の- ResultSetオブジェクト以外の何も生成しない場合、メソッドが- PreparedStatementまたは- CallableStatementで呼び出された場合
- SQLTimeoutException- ドライバが、- setQueryTimeoutメソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中の- Statementの取消しを試みたとき
 
 - 
executeUpdateint executeUpdate(String sql) throws SQLException 指定されたSQL文を実行します。SQL文は、INSERT文、UPDATE文、DELETE文、またはSQL DDL文のような何も返さないSQL文の場合があります。注: このメソッドを PreparedStatementまたはCallableStatementに対して呼び出すことはできません。- パラメータ:
- sql- SQL- INSERT文、- UPDATE文、または- DELETE文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文
- 戻り値:
- (1) SQLデータ操作言語(DML)文の場合は行数、(2)何も返さないSQL文の場合は0
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた- Statementで呼び出された場合、または指定されたSQL文が- ResultSetオブジェクトを生成した場合、メソッドが- PreparedStatementまたは- CallableStatementで呼び出された場合
- SQLTimeoutException- ドライバが、- setQueryTimeoutメソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中の- Statementの取消しを試みたとき
 
 - 
closevoid close() throws SQLException自動的にクローズされるときにStatementオブジェクトのデータベースとJDBCリソースが解放されるのを待つのではなく、ただちにそれらを解放します。 データベースのリソースを占有するのを避けるために、通常は、作業が終了したらすぐにリソースを解放するようにしてください。すでにクローズされた Statementオブジェクトでcloseメソッドを呼び出すと、操作は行われません。注: Statementオブジェクトがクローズされるとき、その現在のResultSetオブジェクトが存在すれば、それもクローズされます。- 定義:
- close、インタフェース:- AutoCloseable
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合
 
 - 
getMaxFieldSizeint getMaxFieldSize() throws SQLExceptionこのStatementオブジェクトによって生成されるResultSetオブジェクトの文字およびバイナリの各列値に対し返される最大バイト数を取得します。 この制限値は、BINARY、VARBINARY、LONGVARBINARY、CHAR、VARCHAR、NCHAR、NVARCHAR、LONGNVARCHAR、およびLONGVARCHARの各列だけに適用されます。 制限値を超えたデータは通知なしに破棄されます。- 戻り値:
- 文字値およびバイナリ値を格納する列に対する現在の列サイズの制限値。ゼロは無制限を意味する
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- 関連項目:
- setMaxFieldSize(int)
 
 - 
setMaxFieldSizevoid setMaxFieldSize(int max) throws SQLExceptionこのStatementオブジェクトによって生成されるResultSetオブジェクトの文字およびバイナリの各列値に対し返される最大バイト数の制限を設定します。 この制限値は、BINARY、VARBINARY、LONGVARBINARY、CHAR、VARCHAR、NCHAR、NVARCHAR、LONGNVARCHAR、およびLONGVARCHARの各フィールドだけに適用されます。 制限値を超えたデータは通知なしに破棄されます。 移植性を最大限にするには、256より大きい値を使用します。- パラメータ:
- max- バイト単位の新しい列サイズの制限値。ゼロは無制限を意味する
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた- Statementで呼び出された場合、または条件- max >= 0が満たされない場合
- 関連項目:
- getMaxFieldSize()
 
 - 
getMaxRowsint getMaxRows() throws SQLExceptionこのStatementオブジェクトによって生成されるResultSetオブジェクトに含めることのできる最大行数を取得します。 制限値を超えた行は通知なしに除外されます。- 戻り値:
- このStatementオブジェクトによって生成されるResultSetオブジェクトの現在の最大行数。ゼロは無制限を意味する
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- 関連項目:
- setMaxRows(int)
 
 - 
setMaxRowsvoid setMaxRows(int max) throws SQLExceptionこのStatementオブジェクトで作成された任意のResultSetオブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。 制限値を超えた行は通知なしに除外されます。- パラメータ:
- max- 新しい最大行数の制限値。ゼロは無制限を意味する
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた- Statementで呼び出された場合、または条件- max >= 0が満たされない場合
- 関連項目:
- getMaxRows()
 
 - 
setEscapeProcessingvoid setEscapeProcessing(boolean enable) throws SQLExceptionエスケープの処理をオンまたはオフに設定します。 エスケープ・スキャニングがオンの場合(デフォルト)、ドライバはSQL文をデータベースに送る前にエスケープ置換えを実行します。ConnectionおよびDataSourceのプロパティescapeProcessingを使用して、デフォルトのエスケープ処理の動作を変更できます。 true (デフォルト)を指定すると、すべてのStatementオブジェクトのエスケープ処理が有効になります。 falseを指定すると、すべてのStatementオブジェクトのエスケープ処理が無効になります。setEscapeProcessingメソッドを使用して、個々のStatementオブジェクトに対するエスケープ処理の動作を指定できます。注: 用意された文は、通常呼び出す前に構文解析されているので、 PreparedStatementsオブジェクトに対するエスケープ処理を無効にしても効果はありません。- パラメータ:
- enable- エスケープ処理を有効にする場合は- true、無効にする場合は- false
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
 
 - 
getQueryTimeoutint getQueryTimeout() throws SQLExceptionドライバがStatementオブジェクトの実行を待つ秒数を取得します。 この制限を超えると、SQLExceptionがスローされます。- 戻り値:
- 現在のクエリー・タイムアウトの制限値の秒数。ゼロは無制限を意味する
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- 関連項目:
- setQueryTimeout(int)
 
 - 
setQueryTimeoutvoid setQueryTimeout(int seconds) throws SQLExceptionドライバがStatementオブジェクトの実行を待つ秒数を、指定された秒数に設定します。 デフォルトでは、実行中の文が完了するまでに許可されている時間に制限はありません。 この制限時間を経過すると、SQLTimeoutExceptionがスローされます。 JDBCドライバは、この制限をexecute、executeQuery、executeUpdateの各メソッドに適用する必要があります。注: JDBCドライバ実装は、この制限を ResultSetメソッドに適用することもあります(詳細は、ドライバ・ベンダーのマニュアルを参照してください)。注: Statementバッチ処理の場合、これは、タイム・アウトがaddBatchメソッドによって追加された個々のSQLコマンドに適用されるか、executeBatchメソッドによって呼び出されたSQLコマンドのバッチ全体に適用されるかに関して定義される実装です(詳細については、ドライバ・ベンダーのドキュメントを参照してください)。- パラメータ:
- seconds- 新しいクエリー・タイムアウトの制限値の秒数。ゼロは無制限を意味する
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた- Statementで呼び出された場合、または条件- seconds >= 0が満たされない場合
- 関連項目:
- getQueryTimeout()
 
 - 
cancelvoid cancel() throws SQLExceptionDBMSおよびドライバの両方がSQL文の終了をサポートする場合に、このStatementオブジェクトを取り消します。 このメソッドは、1つのスレッドが別のスレッドによって実行中の文を取り消すのに使用できます。- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない場合
 
 - 
getWarningsSQLWarning getWarnings() throws SQLException このStatementオブジェクトに関する呼出しによって報告される最初の警告を取得します。 後続のStatementオブジェクトの警告は、このSQLWarningオブジェクトにチェーンされます。警告チェーンは、文が(再)実行されるたびに自動的にクリアされます。 このメソッドはクローズされた Statementオブジェクトの呼出しには使用しません。使用するとSQLExceptionがスローされます。注: ResultSetオブジェクトを処理中の場合、ResultSetオブジェクトの読込みに関連する警告はそのオブジェクトを生成したStatementオブジェクトではなくすべてResultSetオブジェクトにチェーンされます。- 戻り値:
- 最初のSQLWarningオブジェクト。警告がない場合はnull
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
 
 - 
clearWarningsvoid clearWarnings() throws SQLExceptionこのStatementオブジェクトに関して報告されたすべての警告をクリアします。 このメソッドを呼び出したあと、このStatementオブジェクトに対する新しい警告が通知されるまで、getWarningsメソッドはnullを返します。- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
 
 - 
setCursorNamevoid 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ドライバがこのメソッドをサポートしない場合
 
 - 
executeboolean 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(),- getUpdateCount(),- getMoreResults()
 
 - 
getResultSetResultSet getResultSet() throws SQLException ResultSetオブジェクトとして現在の結果を取得します。 このメソッドは、1つの結果につき1回だけ呼び出す必要があります。- 戻り値:
- ResultSetオブジェクトとしての現在の結果。結果が更新カウントであるか、または結果がない場合は- null
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- 関連項目:
- execute(java.lang.String)
 
 - 
getUpdateCountint getUpdateCount() throws SQLException更新カウントとして現在の結果を取得します。結果がResultSetオブジェクトであるか、または結果がない場合は -1を返します。 このメソッドは、1つの結果につき1回だけ呼び出す必要があります。- 戻り値:
- 更新カウントしての現在の結果。現在の結果がResultSetオブジェクトであるか、または結果がない場合は -1
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- 関連項目:
- execute(java.lang.String)
 
 - 
getMoreResultsboolean getMoreResults() throws SQLExceptionStatementオブジェクトの次の結果に移動します。この結果がResultSetオブジェクトの場合はtrueを返し、getResultSetメソッドで得られた現在のResultSetオブジェクトをすべて暗黙にクローズします。次に該当する場合、結果はありません。 // stmt is a Statement object ((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1))- 戻り値:
- 次の結果がResultSetオブジェクトの場合はtrue。更新カウントであるか、または結果がない場合はfalse
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- 関連項目:
- execute(java.lang.String)
 
 - 
setFetchDirectionvoid setFetchDirection(int direction) throws SQLExceptionStatementオブジェクトを使用して作成されたResultSetオブジェクトの行が処理される方向についてのヒントをドライバに提供します。 デフォルト値はResultSet.FETCH_FORWARDです。このメソッドは、この Statementオブジェクトによって生成される結果セットのデフォルトのフェッチ方向を設定します。 各結果セットは、それ自身のフェッチ方向を取得および設定するための独自のメソッドを持ちます。- パラメータ:
- direction- 行を処理する初期方向
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた- Statementで呼び出された場合、または指定された方向が- ResultSet.FETCH_FORWARD、- ResultSet.FETCH_REVERSE、または- ResultSet.FETCH_UNKNOWNのどれでもない場合
- 導入されたバージョン:
- 1.2
- 関連項目:
- getFetchDirection()
 
 - 
getFetchDirectionint getFetchDirection() throws SQLExceptionこのStatementオブジェクトから生成された結果セットのデフォルトである、データベース表から行をフェッチする方向を取得します。 このStatementオブジェクトがsetFetchDirectionメソッドを呼び出してフェッチ方向を設定していない場合、戻り値は実装に依存します。- 戻り値:
- このStatementオブジェクトから生成された結果セットのデフォルトのフェッチ方向
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- 導入されたバージョン:
- 1.2
- 関連項目:
- setFetchDirection(int)
 
 - 
setFetchSizevoid setFetchSize(int rows) throws SQLExceptionこのStatementで作成されたResultSetオブジェクトでより多くの行が必要なときにデータベースから取り出す必要がある行数についてのヒントをJDBCドライバに提供します。 指定された値が0の場合、ヒントは無視されます。 デフォルト値はゼロです。- パラメータ:
- rows- フェッチする行数
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた- Statementで呼び出された場合、または条件- rows>= 0が満たされない場合。
- 導入されたバージョン:
- 1.2
- 関連項目:
- getFetchSize()
 
 - 
getFetchSizeint getFetchSize() throws SQLExceptionこのStatementオブジェクトから生成されたResultSetオブジェクトのデフォルトのフェッチ・サイズである、結果セットの行数を取得します。 このStatementオブジェクトがsetFetchSizeメソッドを呼び出してフェッチ・サイズを設定していない場合、戻り値は実装に依存します。- 戻り値:
- このStatementオブジェクトから生成された結果セットのデフォルトのフェッチ・サイズ
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- 導入されたバージョン:
- 1.2
- 関連項目:
- setFetchSize(int)
 
 - 
getResultSetConcurrencyint getResultSetConcurrency() throws SQLExceptionこのStatementオブジェクトから生成されたResultSetオブジェクトの結果セットの並行処理を取得します。- 戻り値:
- ResultSet.CONCUR_READ_ONLYまたは- ResultSet.CONCUR_UPDATABLE
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- 導入されたバージョン:
- 1.2
 
 - 
getResultSetTypeint getResultSetType() throws SQLExceptionこのStatementオブジェクトから生成されたResultSetオブジェクトの結果セットのタイプを取得します。- 戻り値:
- ResultSet.TYPE_FORWARD_ONLY、- ResultSet.TYPE_SCROLL_INSENSITIVE、- ResultSet.TYPE_SCROLL_SENSITIVEのいずれか
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- 導入されたバージョン:
- 1.2
 
 - 
addBatchvoid addBatch(String sql) throws SQLException このStatementオブジェクトの現在のコマンドのリストに、指定されたSQLコマンドを追加します。 このリストのコマンドはexecuteBatchメソッドを呼び出すことにより、バッチとして実行できます。注: このメソッドを PreparedStatementまたはCallableStatementに対して呼び出すことはできません。- パラメータ:
- sql- 通常はSQL- INSERT文または- UPDATE文
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた- Statementで呼び出された場合、ドライバがバッチ更新をサポートしない場合、メソッドが- PreparedStatementまたは- CallableStatementで呼び出された場合
- 導入されたバージョン:
- 1.2
- 関連項目:
- executeBatch(),- DatabaseMetaData.supportsBatchUpdates()
 
 - 
clearBatchvoid clearBatch() throws SQLExceptionこのStatementオブジェクトの現在のSQLコマンド・リストを空にします。- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた- Statementで呼び出された場合、またはドライバがバッチ更新をサポートしない場合
- 導入されたバージョン:
- 1.2
- 関連項目:
- addBatch(java.lang.String),- DatabaseMetaData.supportsBatchUpdates()
 
 - 
executeBatchint[] 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
- 関連項目:
- addBatch(java.lang.String),- DatabaseMetaData.supportsBatchUpdates()
 
 - 
getConnectionConnection getConnection() throws SQLException このStatementオブジェクトを生成したConnectionオブジェクトを取得します。- 戻り値:
- この文を生成した接続
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- 導入されたバージョン:
- 1.2
 
 - 
getMoreResultsboolean getMoreResults(int current) throws SQLExceptionStatementオブジェクトの次の結果に移動します。指定されたフラグによって指定された命令に従ってすべての現在の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
- 関連項目:
- execute(java.lang.String)
 
 - 
getGeneratedKeysResultSet getGeneratedKeys() throws SQLException このStatementオブジェクトを実行した結果として作成された自動生成キーを取得します。 このStatementオブジェクトがキーを生成しなかった場合は、空のResultSetオブジェクトが返されます。注: 自動生成キーを表す列が指定されなかった場合、JDBCドライバ実装では、自動生成キーを表すのに最適な列を判断します。 - 戻り値:
- このStatementオブジェクトの実行で生成された自動生成キーを含むResultSetオブジェクト
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない場合
- 導入されたバージョン:
- 1.4
 
 - 
executeUpdateint executeUpdate(String sql, int autoGeneratedKeys) throws SQLException 指定されたSQL文を実行し、このStatementオブジェクトによって生成された自動生成キーを検索可能にするかどうかについて指定されたフラグでドライバに通知します。 SQL文がINSERT文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはフラグを無視します。注: このメソッドを PreparedStatementまたはCallableStatementに対して呼び出すことはできません。- パラメータ:
- sql- SQL- INSERT文、- 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
 
 - 
executeUpdateint executeUpdate(String sql, int[] columnIndexes) throws SQLException 指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。 この配列は検索可能にする自動生成キーを含むターゲット表の列のインデックスを含みます。 SQL文がINSERT文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。注: このメソッドを PreparedStatementまたはCallableStatementに対して呼び出すことはできません。- パラメータ:
- sql- SQL- INSERT文、- 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
 
 - 
executeUpdateint executeUpdate(String sql, String[] columnNames) throws SQLException 指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。 この配列は検索可能にする自動生成キーを含むターゲット表の列の名前を含みます。 SQL文がINSERT文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。注: このメソッドを PreparedStatementまたはCallableStatementに対して呼び出すことはできません。- パラメータ:
- sql- SQL- INSERT文、- 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
 
 - 
executeboolean 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
- 関連項目:
- getResultSet(),- getUpdateCount(),- getMoreResults(),- getGeneratedKeys()
 
 - 
executeboolean 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
- 関連項目:
- getResultSet(),- getUpdateCount(),- getMoreResults()
 
 - 
executeboolean 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
- 関連項目:
- getResultSet(),- getUpdateCount(),- getMoreResults(),- getGeneratedKeys()
 
 - 
getResultSetHoldabilityint getResultSetHoldability() throws SQLExceptionこのStatementオブジェクトから生成されたResultSetオブジェクトの結果セットの保持機能を取得します。- 戻り値:
- ResultSet.HOLD_CURSORS_OVER_COMMITまたは- ResultSet.CLOSE_CURSORS_AT_COMMIT
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- 導入されたバージョン:
- 1.4
 
 - 
isClosedboolean isClosed() throws SQLExceptionこのStatementオブジェクトがクローズされているかどうかを取得します。Statementでcloseメソッドが呼び出されるか、または自動的にクローズされる場合、このオブジェクトはクローズされます。- 戻り値:
- このStatementオブジェクトがクローズされている場合はtrue、まだオープンの状態の場合はfalse
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合
- 導入されたバージョン:
- 1.6
 
 - 
setPoolablevoid setPoolable(boolean poolable) throws SQLExceptionStatementをプールすること、またはプールしないことを要求します。 指定された値は、文のプール実装のヒントで、アプリケーションで文がプールされる必要があるかどうかを示します。 ヒントが使用されるかどうかは、文のプール管理プログラムによって異なります。文のプール可能な値は、ドライバによって実装される内部文キャッシュと、アプリケーション・サーバーやその他のアプリケーションによって実装される外部文キャッシュの両方に適用されます。 デフォルトで、 Statementは作成時にプール可能ではありませんが、PreparedStatementおよびCallableStatementは作成時にプール可能です。- パラメータ:
- poolable- trueの場合は文をプールすること、falseの場合は文をプールしないことを要求する
- 例外:
- SQLException- このメソッドがクローズされた- Statementで呼び出された場合
- 導入されたバージョン:
- 1.6
 
 - 
isPoolableboolean isPoolable() throws SQLExceptionStatementがプール可能かどうかを示す値を返します。- 戻り値:
- Statementがプール可能である場合は- true、そうでない場合は- false
- 例外:
- SQLException- このメソッドがクローズされた- Statementで呼び出された場合
- 導入されたバージョン:
- 1.6
- 関連項目:
- setPoolable(boolean)
 
 - 
closeOnCompletionvoid closeOnCompletion() throws SQLExceptionこのStatementに依存するすべての結果セットがクローズされたときにこのStatementがクローズされることを示します。Statementの実行によって結果セットが生成されない場合、このメソッドは無効です。注: closeOnCompletionを複数回呼び出してもこのStatementへの効果は切り替わりません。 ただし、closeOnCompletionの呼出しは、文のその後の実行と、現在開いていて依存されている結果セットがある文の両方に影響します。- 例外:
- SQLException- このメソッドがクローズされた- Statementで呼び出された場合
- 導入されたバージョン:
- 1.7
 
 - 
isCloseOnCompletionboolean isCloseOnCompletion() throws SQLExceptionこのStatementに依存するすべての結果セットがクローズされたときにこのStatementがクローズされるかどうかを示す値を取得します。- 戻り値:
- このStatementが、依存するすべての結果セットがクローズされたときにクローズされる場合はtrue、そうでない場合はfalse
- 例外:
- SQLException- このメソッドがクローズされた- Statementで呼び出された場合
- 導入されたバージョン:
- 1.7
 
 - 
getLargeUpdateCountdefault long getLargeUpdateCount() throws SQLException更新カウントとして現在の結果を取得します。結果がResultSetオブジェクトであるか、または結果がない場合は -1を返します。 このメソッドは、1つの結果につき1回だけ呼び出す必要があります。返される行数が Integer.MAX_VALUEを超える可能性がある場合は、このメソッドを使用するようにしてください。デフォルト実装は UnsupportedOperationExceptionをスローします- 戻り値:
- 更新カウントしての現在の結果。現在の結果がResultSetオブジェクトであるか、または結果がない場合は -1
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- 導入されたバージョン:
- 1.8
- 関連項目:
- execute(java.lang.String)
 
 - 
setLargeMaxRowsdefault void setLargeMaxRows(long max) throws SQLExceptionこのStatementオブジェクトで作成された任意のResultSetオブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。 制限値を超えた行は通知なしに除外されます。行制限が Integer.MAX_VALUEを超える可能性がある場合は、このメソッドを使用するようにしてください。デフォルト実装は UnsupportedOperationExceptionをスローします- パラメータ:
- max- 新しい最大行数の制限値。ゼロは無制限を意味する
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた- Statementで呼び出された場合、または条件- max >= 0が満たされない場合
- 導入されたバージョン:
- 1.8
- 関連項目:
- getMaxRows()
 
 - 
getLargeMaxRowsdefault long getLargeMaxRows() throws SQLExceptionこのStatementオブジェクトによって生成されるResultSetオブジェクトに含めることのできる最大行数を取得します。 制限値を超えた行は通知なしに除外されます。返される行制限が Integer.MAX_VALUEを超える可能性がある場合は、このメソッドを使用するようにしてください。デフォルト実装は 0を返します- 戻り値:
- このStatementオブジェクトによって生成されるResultSetオブジェクトの現在の最大行数。ゼロは無制限を意味する
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた- Statementについて呼び出された場合
- 導入されたバージョン:
- 1.8
- 関連項目:
- setMaxRows(int)
 
 - 
executeLargeBatchdefault 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
- 関連項目:
- addBatch(java.lang.String),- DatabaseMetaData.supportsBatchUpdates()
 
 - 
executeLargeUpdatedefault long executeLargeUpdate(String sql) throws SQLException 指定されたSQL文を実行します。SQL文は、INSERT文、UPDATE文、DELETE文、またはSQL DDL文のような何も返さないSQL文の場合があります。返される行数が Integer.MAX_VALUEを超える可能性がある場合は、このメソッドを使用するようにしてください。注: このメソッドを PreparedStatementまたはCallableStatementに対して呼び出すことはできません。デフォルト実装は UnsupportedOperationExceptionをスローします- パラメータ:
- sql- SQL- INSERT文、- UPDATE文、または- DELETE文のようなSQLデータ操作言語(DML)文、あるいはDDL文のような何も返さないSQL文
- 戻り値:
- (1) SQLデータ操作言語(DML)文の場合は行数、(2)何も返さないSQL文の場合は0
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた- Statementで呼び出された場合、または指定されたSQL文が- ResultSetオブジェクトを生成した場合、メソッドが- PreparedStatementまたは- CallableStatementで呼び出された場合
- SQLTimeoutException- ドライバが、- setQueryTimeoutメソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中の- Statementの取消しを試みたとき
- 導入されたバージョン:
- 1.8
 
 - 
executeLargeUpdatedefault long executeLargeUpdate(String sql, int autoGeneratedKeys) throws SQLException 指定されたSQL文を実行し、この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
- 戻り値:
- (1) SQLデータ操作言語(DML)文の場合は行数、(2)何も返さないSQL文の場合は0
- 例外:
- SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた- Statementで呼び出された場合、指定されたSQL文が- ResultSetオブジェクトを返す場合、指定された定数が許可されているものでない場合、メソッドが- PreparedStatementまたは- CallableStatementで呼び出された場合
- SQLFeatureNotSupportedException- JDBCドライバが定数Statement.RETURN_GENERATED_KEYSを指定したこのメソッドをサポートしない場合
- SQLTimeoutException- ドライバが、- setQueryTimeoutメソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中の- Statementの取消しを試みたとき
- 導入されたバージョン:
- 1.8
 
 - 
executeLargeUpdatedefault long executeLargeUpdate(String sql, int[] columnIndexes) throws SQLException 指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。 この配列は検索可能にする自動生成キーを含むターゲット表の列のインデックスを含みます。 SQL文がINSERT文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。返される行数が Integer.MAX_VALUEを超える可能性がある場合は、このメソッドを使用するようにしてください。注: このメソッドを PreparedStatementまたはCallableStatementに対して呼び出すことはできません。デフォルト実装は SQLFeatureNotSupportedExceptionをスローします- パラメータ:
- sql- SQL- INSERT文、- 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
 
 - 
executeLargeUpdatedefault long executeLargeUpdate(String sql, String[] columnNames) throws SQLException 指定されたSQL文を実行し、指定された配列で示された自動生成キーを検索可能にすることをドライバに通知します。 この配列は検索可能にする自動生成キーを含むターゲット表の列の名前を含みます。 SQL文がINSERT文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。返される行数が Integer.MAX_VALUEを超える可能性がある場合は、このメソッドを使用するようにしてください。注: このメソッドを PreparedStatementまたはCallableStatementに対して呼び出すことはできません。デフォルト実装は SQLFeatureNotSupportedExceptionをスローします- パラメータ:
- sql- SQL- INSERT文、- 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
 
 - 
enquoteLiteraldefault String enquoteLiteral(String val) throws SQLException 単一引用符で囲まれたStringを返します。 文字列内の一重引用符は、二重引用符で置き換えられます。変換の例: 値 Result Hello 'Hello' G'Day 'G' 'Day' 'G' 'Day' '''G''' 'Day' '' I'''M 'I' '''' 'M' - 実装上の注意:
- JDBCドライバ実装は、基礎となるデータソースの要件を満たすために、このメソッドの独自の実装を提供する必要があります。
- パラメータ:
- val- 文字列
- 戻り値:
- 一重引用符で囲まれた文字列。二重引用符に変換されます。
- 例外:
- NullPointerException- valが- nullの場合
- SQLException- データベース・アクセス・エラーが発生した場合
- 導入されたバージョン:
- 9
 
 - 
enquoteIdentifierdefault 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
 
 - 
isSimpleIdentifierdefault 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
 
 - 
enquoteNCharLiteraldefault String enquoteNCharLiteral(String val) throws SQLException 一重引用符で囲まれ、大文字のNで始まる国別文字セット・リテラルを表すStringを返します。 文字列内の一重引用符は、二重引用符で置き換えられます。変換の例: 値 Result Hello N 'Hello' G'Day N 'G' '日' 'G' 'Day' N '''G''' '日' '' I'''M N 'I' '' '' 'M' N 'Hello' N 'N' 'Hello' '' - 実装上の注意:
- JDBCドライバ実装は、基礎となるデータソースの要件を満たすために、このメソッドの独自の実装を提供する必要があります。 enquoteNCharLiteralの実装は、enquoteLiteralの同じドライバ実装で受け入れられるものとは異なる文字セットを受け入れるかもしれません。
- パラメータ:
- val- 文字列
- 戻り値:
- 引数のすべての一重引用符文字を2つの一重引用符文字で置き換えた結果。この結果全体に'N'というプレフィクスが付きます。
- 例外:
- NullPointerException- valが- nullの場合
- SQLException- データベース・アクセス・エラーが発生した場合
- 導入されたバージョン:
- 9
 
 
- 
 
-