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

Permintaan Oracle untuk mengambil nama kolom

Setara Oracle untuk information_schema.COLUMNS adalah USER_TAB_COLS untuk tabel yang dimiliki oleh pengguna saat ini, ALL_TAB_COLS atau DBA_TAB_COLS untuk tabel yang dimiliki oleh semua pengguna.

Tablespace tidak setara dengan skema, Anda juga tidak harus memberikan nama tablespace.

Memberikan skema/nama pengguna akan berguna jika Anda ingin menanyakan ALL_TAB_COLS atau DBA_TAB_COLS untuk kolom OF tabel yang dimiliki oleh pengguna tertentu. dalam kasus Anda, saya membayangkan kueri akan terlihat seperti:

String sqlStr= "
SELECT column_name
  FROM all_tab_cols
 WHERE table_name = 'USERS'
   AND owner = '" +_db+ "'
   AND column_name NOT IN ( 'PASSWORD', 'VERSION', 'ID' )"

Perhatikan bahwa dengan pendekatan ini, Anda berisiko mengalami injeksi SQL.

EDIT: Huruf besar pada nama tabel dan kolom karena ini biasanya huruf besar di Oracle; mereka hanya huruf kecil atau campuran jika dibuat dengan tanda kutip ganda di sekitarnya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 Fungsi untuk Mendapatkan Tahun dari Tanggal di Oracle

  2. Mungkinkah membuat tipe objek Oracle Database di dalam PL/SQL?

  3. Buat pengguna dari variabel string di blok PL/SQL

  4. TZ_OFFSET() Fungsi di Oracle

  5. cx_Oracle dan Penanganan Pengecualian - Praktik yang baik?