Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

JDBC ResultSet dapatkan kolom dengan alias tabel

JDBC hanya akan memberi nama kolom dengan apa yang ditentukan dalam kueri - ia tidak tahu tentang nama tabel, dll.

Anda memiliki dua opsi:

Opsi 1: Beri nama kolom secara berbeda dalam kueri, yaitu

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

kemudian dalam kode java Anda merujuk ke alias kolom:

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


Opsi 2: Lihat kolom posisi dalam panggilan Anda ke JDBC API:

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

Perhatikan bahwa JDBC API menggunakan berbasis satu indeks - yaitu mereka menghitung dari 1 (bukan dari 0 seperti indeks java), jadi gunakan 1 untuk kolom pertama, 2 untuk kolom kedua, dll


Saya akan merekomendasikan opsi 1, karena lebih aman untuk merujuk ke kolom bernama:Seseorang dapat mengubah urutan kolom dalam kueri dan itu akan secara diam-diam memecahkan kode Anda (Anda akan mengakses kolom yang salah tetapi tidak akan tahu) , tetapi jika mereka mengubah nama kolom, Anda setidaknya akan mendapatkan pengecualian "tidak ada kolom seperti itu" saat runtime.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Buat Pengguna Oracle Baru dan Berikan Hak Istimewa:Sintaks dan Contoh

  2. Penyedia tidak kompatibel dengan versi klien Oracle

  3. Cara Mengembalikan Daftar Zona Waktu yang Valid di Oracle Database

  4. Oct2014CPU Menghancurkan Desktop ArcGIS

  5. Apakah ada kueri Oracle SQL yang menggabungkan beberapa baris menjadi satu baris?