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

Làm cách nào để liệt kê tất cả các bảng trong một lược đồ trong Oracle SQL?

Để xem tất cả các bảng trong một lược đồ khác, bạn cần có một hoặc nhiều đặc quyền hệ thống sau:

SELECT ANY DICTIONARY
(SELECT | INSERT | UPDATE | DELETE) ANY TABLE

hoặc big-hammer, vai trò DBA.

Với bất kỳ cái nào trong số đó, bạn có thể chọn:

SELECT DISTINCT OWNER, OBJECT_NAME 
  FROM DBA_OBJECTS
 WHERE OBJECT_TYPE = 'TABLE'
   AND OWNER = '[some other schema]'

Nếu không có các đặc quyền hệ thống đó, bạn chỉ có thể xem các bảng mà bạn đã được cấp một số cấp quyền truy cập, cho dù trực tiếp hay thông qua một vai trò.

SELECT DISTINCT OWNER, OBJECT_NAME 
  FROM ALL_OBJECTS
 WHERE OBJECT_TYPE = 'TABLE'
   AND OWNER = '[some other schema]'

Cuối cùng, bạn luôn có thể truy vấn từ điển dữ liệu cho các bảng của riêng mình, vì bạn không thể thu hồi quyền đối với bảng của mình (kể từ 10g):

SELECT DISTINCT OBJECT_NAME 
  FROM USER_OBJECTS
 WHERE OBJECT_TYPE = 'TABLE'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bắt đầu viết blog cho HTML5 và CSS3

  2. Làm cách nào để kết nối với Oracle DB từ xa với PL / SQL Developer?

  3. Tính vui nhộn của truy vấn con Oracle

  4. Dấu thời gian ngủ đông với múi giờ

  5. truy vấn con vô hướng trong câu lệnh if Điều kiện trong PL / SQL