Oracle
 sql >> база данни >  >> RDS >> Oracle

Заявка на Oracle за извличане на имена на колони

Еквивалентът на 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; те са само с малки или смесени букви, ако са създадени с двойни кавички около тях.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Актуализирайте със заявка за присъединяване в Oracle

  2. Използване на свързващи променливи с динамична клауза SELECT INTO в PL/SQL

  3. Документация на MAA за Oracle Cloud

  4. Как се свързвате с LDAP сървър с помощта на node-oracledb?

  5. Тип таблица в Oracle PL SQL Пример