-
- すべてのスーパー・インタフェース:
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_RESULT
static final int CLOSE_CURRENT_RESULT
getMoreResultsが呼び出されたときに、現在のResultSetオブジェクトがクローズされることを示す定数です。- 導入されたバージョン:
- 1.4
- 関連項目:
- 定数フィールド値
-
KEEP_CURRENT_RESULT
static final int KEEP_CURRENT_RESULT
getMoreResultsが呼び出されたときに、現在のResultSetオブジェクトがクローズされないことを示す定数です。- 導入されたバージョン:
- 1.4
- 関連項目:
- 定数フィールド値
-
CLOSE_ALL_RESULTS
static final int CLOSE_ALL_RESULTS
getMoreResultsが呼び出されたときに、直前までオープンされていたすべての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(int)
-
setMaxFieldSize
void setMaxFieldSize(int max) throws SQLExceptionこのStatementオブジェクトによって生成されるResultSetオブジェクトの文字およびバイナリの各列値に対し返される最大バイト数の制限を設定します。 この制限値は、BINARY、VARBINARY、LONGVARBINARY、CHAR、VARCHAR、NCHAR、NVARCHAR、LONGNVARCHAR、およびLONGVARCHARの各フィールドだけに適用されます。 限度値を超過すると、超過したデータは警告なしで破棄されます。 移植性を最大限にするには、256より大きい値を使用します。- パラメータ:
max- バイト単位の新しい列サイズの制限値。ゼロは無制限を意味する- 例外:
SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatementで呼び出された場合、または条件max >= 0が満たされない場合- 関連項目:
getMaxFieldSize()
-
getMaxRows
int getMaxRows() throws SQLExceptionこのStatementオブジェクトによって生成されるResultSetオブジェクトに含めることのできる最大行数を取得します。 制限値を超えた行は通知なしに除外されます。- 戻り値:
- この
Statementオブジェクトによって生成されるResultSetオブジェクトの現在の最大行数。ゼロは無制限を意味する - 例外:
SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatementについて呼び出された場合- 関連項目:
setMaxRows(int)
-
setMaxRows
void setMaxRows(int max) throws SQLExceptionこのStatementオブジェクトで作成された任意のResultSetオブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。 制限値を超えた行は通知なしに除外されます。- パラメータ:
max- 新しい最大行数の制限値。ゼロは無制限を意味する- 例外:
SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatementで呼び出された場合、または条件max >= 0が満たされない場合- 関連項目:
getMaxRows()
-
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(int)
-
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が満たされない場合- 関連項目:
getQueryTimeout()
-
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(),getUpdateCount(),getMoreResults()
-
getResultSet
ResultSet getResultSet() throws SQLException
ResultSetオブジェクトとして現在の結果を取得します。 このメソッドは、1つの結果につき1回だけ呼び出す必要があります。- 戻り値:
ResultSetオブジェクトとしての現在の結果。結果が更新カウントであるか、または結果がない場合はnull- 例外:
SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatementについて呼び出された場合- 関連項目:
execute(java.lang.String)
-
getUpdateCount
int getUpdateCount() throws SQLException更新カウントとして現在の結果を取得します。結果がResultSetオブジェクトであるか、または結果がない場合は -1を返します。 このメソッドは、1つの結果につき1回だけ呼び出す必要があります。- 戻り値:
- 更新カウントしての現在の結果。現在の結果が
ResultSetオブジェクトであるか、または結果がない場合は -1 - 例外:
SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatementについて呼び出された場合- 関連項目:
execute(java.lang.String)
-
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について呼び出された場合- 関連項目:
execute(java.lang.String)
-
setFetchDirection
void 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()
-
getFetchDirection
int getFetchDirection() throws SQLExceptionこのStatementオブジェクトから生成された結果セットのデフォルトである、データベース表から行をフェッチする方向を取得します。 このStatementオブジェクトがsetFetchDirectionメソッドを呼び出してフェッチ方向を設定していない場合、戻り値は実装に依存します。- 戻り値:
- この
Statementオブジェクトから生成された結果セットのデフォルトのフェッチ方向 - 例外:
SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatementについて呼び出された場合- 導入されたバージョン:
- 1.2
- 関連項目:
setFetchDirection(int)
-
setFetchSize
void setFetchSize(int rows) throws SQLExceptionこのStatementで作成されたResultSetオブジェクトでより多くの行が必要なときにデータベースから取り出す必要がある行数についてのヒントをJDBCドライバに提供します。 指定された値が0の場合、ヒントは無視されます。 デフォルト値は0です。- パラメータ:
rows- フェッチする行数- 例外:
SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatementで呼び出された場合、または条件rows>= 0が満たされない場合。- 導入されたバージョン:
- 1.2
- 関連項目:
getFetchSize()
-
getFetchSize
int getFetchSize() throws SQLExceptionこのStatementオブジェクトから生成されたResultSetオブジェクトのデフォルトのフェッチ・サイズである、結果セットの行数を取得します。 このStatementオブジェクトがsetFetchSizeメソッドを呼び出してフェッチ・サイズを設定していない場合、戻り値は実装に依存します。- 戻り値:
- この
Statementオブジェクトから生成された結果セットのデフォルトのフェッチ・サイズ - 例外:
SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatementについて呼び出された場合- 導入されたバージョン:
- 1.2
- 関連項目:
setFetchSize(int)
-
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
- 関連項目:
executeBatch(),DatabaseMetaData.supportsBatchUpdates()
-
clearBatch
void clearBatch() throws SQLExceptionこのStatementオブジェクトの現在のSQLコマンド・リストを空にします。- 例外:
SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatementで呼び出された場合、またはドライバがバッチ更新をサポートしない場合- 導入されたバージョン:
- 1.2
- 関連項目:
addBatch(java.lang.String),DatabaseMetaData.supportsBatchUpdates()
-
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
- 関連項目:
addBatch(java.lang.String),DatabaseMetaData.supportsBatchUpdates()
-
getConnection
Connection getConnection() throws SQLException
このStatementオブジェクトを生成したConnectionオブジェクトを取得します。- 戻り値:
- この文を生成した接続
- 例外:
SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatementについて呼び出された場合- 導入されたバージョン:
- 1.2
-
getMoreResults
boolean 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)
-
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
- 関連項目:
getResultSet(),getUpdateCount(),getMoreResults(),getGeneratedKeys()
-
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
- 関連項目:
getResultSet(),getUpdateCount(),getMoreResults()
-
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
- 関連項目:
getResultSet(),getUpdateCount(),getMoreResults(),getGeneratedKeys()
-
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 SQLExceptionStatementをプールすること、またはプールしないことを要求します。 指定された値は、文のプール実装のヒントで、アプリケーションで文がプールされる必要があるかどうかを示します。 ヒントが使用されるかどうかは、文のプール管理プログラムによって異なります。文のプール可能な値は、ドライバによって実装される内部文キャッシュと、アプリケーション・サーバーやその他のアプリケーションによって実装される外部文キャッシュの両方に適用されます。
デフォルトで、
Statementは作成時にプール可能ではありませんが、PreparedStatementおよびCallableStatementは作成時にプール可能です。- パラメータ:
poolable- trueの場合は文をプールすること、falseの場合は文をプールしないことを要求する- 例外:
SQLException- このメソッドがクローズされたStatementで呼び出された場合- 導入されたバージョン:
- 1.6
-
isPoolable
boolean isPoolable() throws SQLExceptionStatementがプール可能かどうかを示す値を返します。- 戻り値:
Statementがプール可能である場合はtrue、そうでない場合はfalse- 例外:
SQLException- このメソッドがクローズされたStatementで呼び出された場合- 導入されたバージョン:
- 1.6
- 関連項目:
setPoolable(boolean)
-
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
- 関連項目:
execute(java.lang.String)
-
setLargeMaxRows
default void setLargeMaxRows(long max) throws SQLExceptionこのStatementオブジェクトで作成された任意のResultSetオブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。 制限値を超えた行は通知なしに除外されます。行制限が
Integer.MAX_VALUEを超える可能性がある場合は、このメソッドを使用するようにしてください。デフォルト実装は
UnsupportedOperationExceptionをスローします- パラメータ:
max- 新しい最大行数の制限値。ゼロは無制限を意味する- 例外:
SQLException- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたStatementで呼び出された場合、または条件max >= 0が満たされない場合- 導入されたバージョン:
- 1.8
- 関連項目:
getMaxRows()
-
getLargeMaxRows
default long getLargeMaxRows() throws SQLExceptionこのStatementオブジェクトによって生成されるResultSetオブジェクトに含めることのできる最大行数を取得します。 制限値を超えた行は通知なしに除外されます。返される行制限が
Integer.MAX_VALUEを超える可能性がある場合は、このメソッドを使用するようにしてください。デフォルト実装は
0を返します- 戻り値:
- この
Statementオブジェクトによって生成されるResultSetオブジェクトの現在の最大行数。ゼロは無制限を意味する - 例外:
SQLException- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたStatementについて呼び出された場合- 導入されたバージョン:
- 1.8
- 関連項目:
setMaxRows(int)
-
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
- 関連項目:
addBatch(java.lang.String),DatabaseMetaData.supportsBatchUpdates()
-
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を返します。 文字列内の一重引用符は、二重引用符で置き換えられます。変換の例: 値 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を返します。 文字列内の一重引用符は、二重引用符で置き換えられます。変換の例: 値 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
-
-