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. |