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

Как да изброя всички таблици в схема в Oracle SQL?

За да видите всички таблици в друга схема, трябва да имате едно или повече от следните системни привилегии:

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

или големият чук, ролята на DBA.

С всеки от тях можете да изберете:

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

Без тези системни привилегии можете да видите само таблици, до които сте получили някакво ниво на достъп, независимо дали директно или чрез роля.

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

И накрая, винаги можете да направите заявка към речника на данните за вашите собствени таблици, тъй като правата ви върху вашите таблици не могат да бъдат отменени (от 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. Връщане на краткото име на ден от дата в Oracle

  2. Добра справка за Oracle PL/SQL

  3. Hibernate не можа да извлече SequenceInformation от базата данни

  4. Инсталиране на Oracle 32-bit Client на Windows Server, който вече работи с 64-битов Oracle Database Server

  5. Върнете резултатите от заявката като списък, разделен със запетая в Oracle