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

JDBC ResultSet lấy các cột có bí danh bảng

JDBC sẽ chỉ đặt tên cho các cột theo những gì được chỉ định trong truy vấn - nó không biết về tên bảng, v.v.

Bạn có hai lựa chọn:

Tùy chọn 1: Đặt tên các cột khác nhau trong truy vấn, tức là

SELECT
    a.columnName as columnNameA,
    b.columnName as columnNameB,
    ...
from table1 a, table2 b where (WHATEVER)

thì trong mã java của bạn, hãy tham khảo bí danh cột:

resultSet.getString("columnNameA");
resultSet.getString("columnNameB");


Tùy chọn 2: Tham khảo cột vị trí trong lệnh gọi của bạn tới API JDBC:

resultSet.getString(1);
resultSet.getString(2);

Lưu ý rằng API JDBC sử dụng một nền tảng chỉ mục - tức là chúng được tính từ 1 (không phải từ 0 như chỉ mục java), vì vậy hãy sử dụng 1 cho cột đầu tiên, 2 cho cột thứ hai, v.v.


Tôi khuyên bạn nên chọn tùy chọn 1, vì sẽ an toàn hơn khi tham chiếu đến các cột được đặt tên:Ai đó có thể thay đổi thứ tự của các cột trong truy vấn và nó sẽ âm thầm phá mã của bạn (bạn sẽ truy cập sai cột nhưng không biết) , nhưng nếu họ thay đổi tên cột, ít nhất bạn sẽ nhận được ngoại lệ "không có cột như vậy" trong thời gian chạy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thứ tự tùy chỉnh trong Oracle SQL

  2. Tạo và cấu hình máy chủ liên kết Oracle trong SQL Server

  3. oracle diff:làm thế nào để so sánh hai bảng?

  4. Pivot trong Oracle 11g

  5. Khu vực phục hồi nhanh của Oracle