sql >> Database >  >> RDS >> Oracle

Controleer of er een tabel bestaat in Oracle

In Oracle Database zijn er een aantal views die we kunnen opvragen om te achterhalen of een tabel bestaat.

Voorbeeld

Bijvoorbeeld USER_TABLES beschrijft de relationele tabellen die eigendom zijn van de huidige gebruiker.

SELECT TABLE_NAME 
FROM USER_TABLES 
WHERE TABLE_NAME = 'COUNTRIES';

Resultaat:

COUNTRIES

In dit voorbeeld heb ik gecontroleerd of er een relationele tabel is met de naam COUNTRIES die eigendom is van de huidige gebruiker.

We kunnen deze zoekopdracht aanpassen om alleen de telling te retourneren:

SELECT COUNT(TABLE_NAME)
FROM USER_TABLES 
WHERE TABLE_NAME = 'COUNTRIES';

Resultaat:

1

In dat geval bestaat de tabelnaam en is de telling dus 1 .

Dit is wat er gebeurt als de tabel niet bestaat:

SELECT COUNT(TABLE_NAME)
FROM USER_TABLES 
WHERE TABLE_NAME = 'USERS';

Resultaat:

0

De volgende tabel bevat andere weergaven die informatie bevatten over tabellen in Oracle Database.

Bekijken Beschrijving
USER_TABLES Beschrijft de relationele tabellen die eigendom zijn van de huidige gebruiker (deze weergave wordt gebruikt in het bovenstaande voorbeeld).
ALL_TABLES Beschrijft de relationele tabellen die toegankelijk zijn voor de huidige gebruiker.
DBA_TABLES Beschrijft alle relationele tabellen in de database.
USER_ALL_TABLES Beschrijft de objecttabellen en relationele tabellen die eigendom zijn van de huidige gebruiker.
DBA_ALL_TABLES Beschrijft alle objecttabellen en relationele tabellen in de database.
ALL_ALL_TABLES Beschrijft de objecttabellen en relationele tabellen die toegankelijk zijn voor de huidige gebruiker.


  1. Psql kan geen verbinding maken met de server:geen bestand of map, 5432-fout?

  2. Handige tips om veelvoorkomende fouten in MySQL op te lossen

  3. Hoe maak je een multi-tenant database met gedeelde tabelstructuren?

  4. Oracle PL/SQL - tips voor onmiddellijke uitvoer / console-afdrukken