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.
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.