sql >> Database >  >> RDS >> Oracle

Hoe maak ik een lijst van alle tabellen in een schema in Oracle SQL?

Om alle tabellen in een ander schema te zien, moet u een of meer van de volgende systeemrechten hebben:

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

of de grote hamer, de DBA-rol.

Met elk van deze kunt u het volgende selecteren:

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

Zonder die systeemrechten kunt u alleen tabellen zien waaraan u een bepaald toegangsniveau hebt gekregen, rechtstreeks of via een rol.

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

Ten slotte kunt u de datadictionary altijd opvragen voor uw eigen tabellen, aangezien uw rechten op uw tabellen niet kunnen worden ingetrokken (vanaf 10g):

SELECT DISTINCT OBJECT_NAME 
  FROM USER_OBJECTS
 WHERE OBJECT_TYPE = 'TABLE'


  1. 10 nuttige bronnen voor wie meer wil weten over SQL

  2. python voegt E toe aan string

  3. PostgreSQL-ROLE (gebruiker) maken als deze niet bestaat

  4. Oracle PLSQL-blokstructuur en -typen