skip to main content
Using the driver : Auto-generated keys support
  

Try DataDirect Drivers Now

Auto-generated keys support

The Oracle driver supports retrieving the values of auto-generated keys. An auto-generated key returned by the Oracle driver is the value of a ROWID pseudo column.
An application can return values of auto-generated keys when it executes an Insert statement. How you return these values depends on whether you are using an Insert statement with a Statement object or with a PreparedStatement object, as outlined in the following scenarios:
*When using an Insert statement with a Statement object, the driver supports the following form of the Statement.execute and Statement.executeUpdate methods to instruct the driver to return values of auto-generated keys:
*Statement.execute(String sql, int autoGeneratedKeys)
*Statement.execute(String sql, int[] columnIndexes)
*Statement.execute(String sql, String[] columnNames)
*Statement.executeUpdate(String sql, int autoGeneratedKeys)
*Statement.executeUpdate(String sql, int[] columnIndexes)
*Statement.executeUpdate(String sql, String[] columnNames)
*When using an Insert statement with a PreparedStatement object, the driver supports the following form of the Connection.prepareStatement method to instruct the driver to return values of auto-generated keys:
*Connection.prepareStatement(String sql, int autoGeneratedKeys)
*Connection.prepareStatement(String sql, int[] columnIndexes)
*Connection.prepareStatement(String sql, String[] columnNames)
Note: When returning auto-generated keys, using column names provides better performance than using column indexes.
An application can retrieve values of auto-generated keys using the Statement.getGeneratedKeys() method. This method returns a ResultSet object with a column for each auto-generated key.
Refer to "Designing JDBC applications for performance optimization" for information about how auto-generated keys can improve performance.