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.