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

Nhận danh sách tất cả các bảng trong Oracle?

SELECT owner, table_name
  FROM dba_tables

Điều này giả sử rằng bạn có quyền truy cập vào DBA_TABLES xem từ điển dữ liệu. Nếu bạn không có những đặc quyền đó nhưng cần chúng, bạn có thể yêu cầu DBA cấp rõ ràng cho bạn các đặc quyền trên bảng đó hoặc DBA cấp cho bạn SELECT ANY DICTIONARY đặc quyền hoặc SELECT_CATALOG_ROLE role (một trong hai sẽ cho phép bạn truy vấn bất kỳ bảng từ điển dữ liệu nào). Tất nhiên, bạn có thể muốn loại trừ một số lược đồ nhất định như SYSSYSTEM có số lượng lớn bảng Oracle mà bạn có thể không quan tâm.

Ngoài ra, nếu bạn không có quyền truy cập vào DBA_TABLES , bạn có thể xem tất cả các bảng mà tài khoản của bạn có quyền truy cập thông qua ALL_TABLES xem:

SELECT owner, table_name
  FROM all_tables

Mặc dù, đó có thể là một tập hợp con của các bảng có sẵn trong cơ sở dữ liệu (ALL_TABLES hiển thị cho bạn thông tin cho tất cả các bảng mà người dùng của bạn đã được cấp quyền truy cập).

Nếu bạn chỉ quan tâm đến các bảng mà bạn sở hữu, không phải những bảng mà bạn có quyền truy cập, bạn có thể sử dụng USER_TABLES :

SELECT table_name
  FROM user_tables

Kể từ USER_TABLES chỉ có thông tin về các bảng mà bạn sở hữu, nó không có OWNER - chủ sở hữu, theo định nghĩa, là bạn.

Oracle cũng có một số chế độ xem từ điển dữ liệu kế thừa - TAB , DICT , TABSCAT ví dụ-- có thể được sử dụng. Nói chung, tôi sẽ không đề xuất sử dụng các khung nhìn kế thừa này trừ khi bạn thực sự cần phải backport các tập lệnh của mình sang Oracle 6. Oracle đã không thay đổi các khung nhìn này trong một thời gian dài nên chúng thường gặp vấn đề với các loại đối tượng mới hơn. Ví dụ:TABCAT cả hai chế độ xem đều hiển thị thông tin về các bảng nằm trong thùng rác của người dùng trong khi [DBA|ALL|USER]_TABLES xem tất cả lọc ra. CAT cũng hiển thị thông tin về nhật ký chế độ xem cụ thể hóa với TABLE_TYPE của "TABLE" không chắc là thứ bạn thực sự muốn. DICT kết hợp các bảng và từ đồng nghĩa và không cho bạn biết ai sở hữu đối tượ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. Chạy Oracle Forms độc lập mà không cần trình duyệt

  2. CHÈN với ORDER trên Oracle

  3. Kiến trúc Oracle E-Business Suite trong 12.2

  4. Cách sửa lỗi oracle.sql.ArrayDescriptor, oracle.sql.THER và oracle.sql.StructDescriptor không dùng nữa

  5. Bất kỳ nhược điểm nào đối với cờ bit trong cột cơ sở dữ liệu?