Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cơ sở dữ liệu Oracle Khóa chính Java JDBC

Cách chính xác để truy xuất khóa chính của bạn là sử dụng getGeneratedKeys cơ sở (có thể được kích hoạt bằng cách sử dụng Statement.RETURN_GENERATED_KEYS giá trị bằng một trong các Statement.execute* hoặc Connection.prepareStatement phương pháp.

Trong hầu hết các cơ sở dữ liệu, điều này có thể được sử dụng để truy xuất khóa chính một cách trực tiếp. Tuy nhiên, trong trường hợp của Oracle, điều này sẽ cho phép bạn lấy ROWID , ROWID này có thể được sử dụng để truy vấn bảng cho hàng được chèn và lấy khóa chính.

Ví dụ:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. chế độ xem oracle-inline

  2. Truy xuất dữ liệu cục lớn bằng sqlplus

  3. Oracle tự động chèn bản ghi trong khối multirecord phần 2

  4. Truy xuất các chuỗi nhất định trong một chuỗi bằng Oracle SQL

  5. Chỉ loại trừ một giá trị MIN trên Oracle SQL