V databázi Oracle existuje řada pohledů, na které se můžeme dotazovat, abychom zjistili, zda tabulka existuje.
Příklad
Například USER_TABLES
popisuje relační tabulky vlastněné aktuálním uživatelem.
SELECT TABLE_NAME
FROM USER_TABLES
WHERE TABLE_NAME = 'COUNTRIES';
Výsledek:
COUNTRIES
V tomto příkladu jsem zkontroloval, zda existuje relační tabulka s názvem COUNTRIES
které vlastní aktuální uživatel.
Tento dotaz bychom mohli upravit tak, aby vracel pouze počet:
SELECT COUNT(TABLE_NAME)
FROM USER_TABLES
WHERE TABLE_NAME = 'COUNTRIES';
Výsledek:
1
V takovém případě název tabulky existuje, takže počet je 1
.
Co se stane, když tabulka neexistuje:
SELECT COUNT(TABLE_NAME)
FROM USER_TABLES
WHERE TABLE_NAME = 'USERS';
Výsledek:
0
V následující tabulce jsou uvedeny další pohledy, které obsahují informace o tabulkách v databázi Oracle.
Zobrazit | Popis |
---|---|
USER_TABLES | Popisuje relační tabulky vlastněné aktuálním uživatelem (toto zobrazení je použito ve výše uvedeném příkladu). |
ALL_TABLES | Popisuje relační tabulky přístupné aktuálnímu uživateli. |
DBA_TABLES | Popisuje všechny relační tabulky v databázi. |
USER_ALL_TABLES | Popisuje tabulky objektů a relační tabulky vlastněné aktuálním uživatelem. |
DBA_ALL_TABLES | Popisuje všechny tabulky objektů a relační tabulky v databázi. |
ALL_ALL_TABLES | Popisuje tabulky objektů a relační tabulky přístupné aktuálnímu uživateli. |