The Salesforce driver supports retrieving the values of auto-generated keys. An auto-generated key returned by the Salesforce driver is the value of an auto-increment 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)

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 in the Progress DataDirect for JDBC Drivers Reference for information about how auto-generated keys can improve performance.