Executes the given SQL statement and signals the driver that the
auto-generated keys indicated in the given array should be made available
for retrieval. This array contains the names of the columns in the
target table that contain the auto-generated keys that should be made
available. The driver will ignore the array if the SQL statement
is not an INSERT statement, or an SQL statement able to return
auto-generated keys (the list of such statements is vendor-specific).
This method should be used when the returned row count may exceed
Integer.MAX_VALUE.
Note:This method cannot be called on a
PreparedStatement or CallableStatement.
The default implementation will throw SQLFeatureNotSupportedException
sql | an SQL Data Manipulation Language (DML) statement,
such as INSERT, UPDATE or
DELETE; or an SQL statement that returns nothing,
such as a DDL statement. | |
columnNames | an array of the names of the columns that should be returned from the inserted row |
INSERT, UPDATE,
or DELETE statements, or 0 for SQL statements
that return nothing
SQLException | if a database access error occurs,
this method is called on a closed Statement, the SQL
statement returns a ResultSet object, the
second argument supplied to this method is not a String array
whose elements are valid column names, the method is called on a
PreparedStatement or CallableStatement | |
SQLFeatureNotSupportedException | if the JDBC driver does not support this method | |
SQLTimeoutException | when the driver has determined that the
timeout value that was specified by the setQueryTimeout
method has been exceeded and has at least attempted to cancel
the currently running Statement |
Diagram: Statement