sql >> Database >  >> RDS >> Oracle

Java JDBC primaire sleutel Oracle-database

De juiste manier om uw primaire sleutel op te halen, is door de getGeneratedKeys . te gebruiken faciliteit (die kan worden geactiveerd met behulp van de Statement.RETURN_GENERATED_KEYS waarde met een van de Statement.execute* of Connection.prepareStatement methoden.

In de meeste databases kan dit worden gebruikt om de primaire sleutel direct op te halen. In het geval van Oracle zal dit u echter toelaten om de ROWID . te verkrijgen , deze ROWID kan worden gebruikt om de tabel voor de ingevoegde rij te doorzoeken en de primaire sleutel te verkrijgen.

Bijvoorbeeld:

stmt.executeUpdate("INSERT INTO theTable(column1) VALUES ('a')",
      Statement.RETURN_GENERATED_KEYS);
ResultSet keys = stmt.getGeneratedKeys();
int primaryKey = -1;
if (keys.next()) {
    try (PreparedStatement keyStatement = 
           connection.prepareStatement("SELECT ID FROM theTable WHERE ROWID = ?")) {
        keyStatement.setRowId(keys.getRowId(1));
        try (ResultSet rs = keyStatement.executeQuery()) {
             primaryKey = rs.getInt(1);
        }
    }
}


  1. ORACLE SDO_GEOMETRY ToString()?

  2. localhost versus 127.0.0.1 in mysql_connect()

  3. Kan MySQL niet installeren/gebruiken op Amazon Cloud9 Free Account

  4. Inleiding tot Python SQL-bibliotheken