Еквивалентът на Oracle за information_schema.COLUMNS
е USER_TAB_COLS
за таблици, собственост на текущия потребител, ALL_TAB_COLS
или DBA_TAB_COLS
за таблици, собственост на всички потребители.
Пространството за таблици не е еквивалентно на схема, нито трябва да предоставяте името на пространството за таблици.
Предоставянето на схемата/потребителското име би било от полза, ако искате да заявите ALL_TAB_COLS
или DBA_TAB_COLS
за колони OF таблици, собственост на конкретен потребител. във вашия случай бих си представил, че заявката ще изглежда така:
String sqlStr= "
SELECT column_name
FROM all_tab_cols
WHERE table_name = 'USERS'
AND owner = '" +_db+ "'
AND column_name NOT IN ( 'PASSWORD', 'VERSION', 'ID' )"
Имайте предвид, че с този подход рискувате да инжектирате SQL.
РЕДАКТИРАНЕ: Имената на таблици и колони са с главни букви, тъй като те обикновено са с главни букви в Oracle; те са само с малки или смесени букви, ако са създадени с двойни кавички около тях.