Chaves autogeradas

A funcionalidade de chaves autogeradas do JDBC 3.0 fornece uma maneira de obter valores de colunas que fazem parte de um ??ndice ou possuem um valor padr??o atribu??do. O Derby suporta a funcionalidade de auto-incremento, que permite aos usu??rios criarem colunas em tabelas para as quais o sistema de banco de dados atribui automaticamente valores inteiros incrementais. No JDBC 3.0, pode ser chamado o m??todo Statement.getGeneratedKeys para obter o valor de uma coluna como esta. Este m??todo retorna um objeto ResultSet com uma coluna para a chave gerada automaticamente. Chamando-se ResultSet.getMetaData no objeto ResultSet retornado por getGeneratedKeys produz um objeto ResultSetMetaData semelhante ao retornado por IDENTITY_VAL_LOCAL. Quando a instru????o ?? executada ou preparada, deve ser passado para os m??todos execute, executeUpdate ou prepareStatement um sinalizador indicando que devem ser retornadas todas as colunas autogerada.

Abaixo segue um exemplo que retorna um ResultSet com valores para as colunas autogeradas da TABELA1:
Statement stmt = conn.createStatement();
int rows = stmt.executeUpdate("INSERT INTO TABELA1 (C11, C12) VALUES (1,1)",
  Statement.RETURN_GENERATED_KEYS);
ResultSet rs = stmt.getGeneratedKeys();

Para utilizar chaves autogeradas nas instru????es INSERT deve ser passado o sinalizador Statement.RETURN_GENERATED_KEYS para o m??todo execute ou executeUpdate. O Derby n??o suporta a passagem de nomes de colunas ou ??ndices de colunas para os m??todos execute, executeUpdate e prepareStatement.