Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Truy vấn Oracle để tìm nạp tên cột

Oracle tương đương cho information_schema.COLUMNSUSER_TAB_COLS đối với các bảng do người dùng hiện tại sở hữu, ALL_TAB_COLS hoặc DBA_TAB_COLS cho các bảng do tất cả người dùng sở hữu.

Vùng bảng không tương đương với một lược đồ, bạn cũng không cần phải cung cấp tên vùng bảng.

Việc cung cấp lược đồ / tên người dùng sẽ có ích nếu bạn muốn truy vấn ALL_TAB_COLS hoặc DBA_TAB_COLS cho các cột OF bảng do một người dùng cụ thể sở hữu. trong trường hợp của bạn, tôi tưởng tượng truy vấn sẽ giống như sau:

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

Lưu ý rằng với cách tiếp cận này, bạn có nguy cơ bị chèn SQL.

CHỈNH SỬA: Viết hoa tên bảng và cột vì chúng thường là chữ hoa trong Oracle; chúng chỉ là chữ thường hoặc chữ hoa hỗn hợp nếu được tạo với dấu ngoặc kép xung quanh chúng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cột không được phép ở đây lỗi trong câu lệnh INSERT

  2. ORA-12704:bộ ký tự không khớp

  3. Lỗi ORA-12514 sau khi khởi động lại máy chủ

  4. Hàm CHARTOROWID () trong Oracle

  5. Các hàm chuỗi của Oracle (Danh sách đầy đủ)