I Oracle Database finns det ett antal vyer som vi kan fråga för att ta reda på om det finns en tabell.
Exempel
Till exempel, USER_TABLES
beskriver relationstabellerna som ägs av den aktuella användaren.
SELECT TABLE_NAME
FROM USER_TABLES
WHERE TABLE_NAME = 'COUNTRIES';
Resultat:
COUNTRIES
I det här exemplet kollade jag för att se om det finns en relationstabell som heter COUNTRIES
som ägs av den nuvarande användaren.
Vi kunde justera den här frågan så att den bara returnerar antalet:
SELECT COUNT(TABLE_NAME)
FROM USER_TABLES
WHERE TABLE_NAME = 'COUNTRIES';
Resultat:
1
I så fall existerar tabellnamnet och därför är antalet 1
.
Så här händer när tabellen inte finns:
SELECT COUNT(TABLE_NAME)
FROM USER_TABLES
WHERE TABLE_NAME = 'USERS';
Resultat:
0
Följande tabell listar andra vyer som innehåller information om tabeller i Oracle Database.
Visa | Beskrivning |
---|---|
USER_TABLES | Beskriver relationstabellerna som ägs av den aktuella användaren (denna vy används i exemplet ovan). |
ALL_TABLES | Beskriver de relationstabeller som är tillgängliga för den aktuella användaren. |
DBA_TABLES | Beskriver alla relationstabeller i databasen. |
USER_ALL_TABLES | Beskriver objekttabellerna och relationstabellerna som ägs av den aktuella användaren. |
DBA_ALL_TABLES | Beskriver alla objekttabeller och relationstabeller i databasen. |
ALL_ALL_TABLES | Beskriver objekttabellerna och relationstabellerna som är tillgängliga för den aktuella användaren. |