I Oracle Database er der en række visninger, som vi kan forespørge på for at finde ud af, om der findes en tabel.
Eksempel
For eksempel USER_TABLES
beskriver de relationelle tabeller, der ejes af den aktuelle bruger.
SELECT TABLE_NAME
FROM USER_TABLES
WHERE TABLE_NAME = 'COUNTRIES';
Resultat:
COUNTRIES
I dette eksempel tjekkede jeg for at se, om der er en relationstabel kaldet COUNTRIES
som ejes af den nuværende bruger.
Vi kunne justere denne forespørgsel til kun at returnere antallet:
SELECT COUNT(TABLE_NAME)
FROM USER_TABLES
WHERE TABLE_NAME = 'COUNTRIES';
Resultat:
1
I så fald eksisterer tabelnavnet, og antallet er derfor 1
.
Her er, hvad der sker, når tabellen ikke eksisterer:
SELECT COUNT(TABLE_NAME)
FROM USER_TABLES
WHERE TABLE_NAME = 'USERS';
Resultat:
0
Følgende tabel viser andre visninger, der indeholder oplysninger om tabeller i Oracle Database.
Vis | Beskrivelse |
---|---|
USER_TABLES | Beskriver de relationelle tabeller, der ejes af den aktuelle bruger (denne visning bruges i ovenstående eksempel). |
ALL_TABLES | Beskriver de relationelle tabeller, der er tilgængelige for den aktuelle bruger. |
DBA_TABLES | Beskriver alle relationelle tabeller i databasen. |
USER_ALL_TABLES | Beskriver objekttabellerne og relationelle tabeller, der ejes af den aktuelle bruger. |
DBA_ALL_TABLES | Beskriver alle objekttabeller og relationelle tabeller i databasen. |
ALL_ALL_TABLES | Beskriver de objekttabeller og relationelle tabeller, der er tilgængelige for den aktuelle bruger. |