sql >> Databáze >  >> RDS >> Oracle

Primární klíč Java JDBC Oracle Database

Správný způsob, jak získat primární klíč, je použít getGeneratedKeys zařízení (které lze aktivovat pomocí Statement.RETURN_GENERATED_KEYS hodnotu s jedním z Statement.execute* nebo Connection.prepareStatement metody.

Ve většině databází to lze použít k přímému získání primárního klíče. V případě Oracle vám to však umožní získat ROWID , tento ROWID lze použít k dotazování tabulky na vložený řádek a získání primárního klíče.

Například:

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. Mysql:Objednat podle like?

  2. Vytvoření tabulky čísel v MySQL

  3. Jak získat hodnoty pro další a další datum v tabulce

  4. Chyba LOAD DATA INFILE 1064