Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Überprüfen Sie, ob eine Tabelle in Oracle existiert

In Oracle Database gibt es eine Reihe von Ansichten, die wir abfragen können, um herauszufinden, ob eine Tabelle existiert.

Beispiel

Beispiel:USER_TABLES beschreibt die relationalen Tabellen, die dem aktuellen Benutzer gehören.

SELECT TABLE_NAME 
FROM USER_TABLES 
WHERE TABLE_NAME = 'COUNTRIES';

Ergebnis:

COUNTRIES

In diesem Beispiel habe ich überprüft, ob es eine relationale Tabelle namens COUNTRIES gibt die dem aktuellen Benutzer gehört.

Wir könnten diese Abfrage so anpassen, dass sie nur die Anzahl zurückgibt:

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

Ergebnis:

1

In diesem Fall existiert der Tabellenname und daher ist die Zählung 1 .

Folgendes passiert, wenn die Tabelle nicht existiert:

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

Ergebnis:

0

Die folgende Tabelle listet andere Ansichten auf, die Informationen zu Tabellen in Oracle Database enthalten.

Anzeigen Beschreibung
USER_TABLES Beschreibt die relationalen Tabellen, die dem aktuellen Benutzer gehören (diese Ansicht wird im obigen Beispiel verwendet).
ALL_TABLES Beschreibt die relationalen Tabellen, auf die der aktuelle Benutzer zugreifen kann.
DBA_TABLES Beschreibt alle relationalen Tabellen in der Datenbank.
USER_ALL_TABLES Beschreibt die Objekttabellen und relationalen Tabellen, die dem aktuellen Benutzer gehören.
DBA_ALL_TABLES Beschreibt alle Objekttabellen und relationalen Tabellen in der Datenbank.
ALL_ALL_TABLES Beschreibt die Objekttabellen und relationalen Tabellen, auf die der aktuelle Benutzer zugreifen kann.