sql >> Databasteknik >  >> RDS >> Oracle

Kontrollera om det finns en tabell i Oracle

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.


  1. MySQL flyttal jämförelse problem

  2. Hur kan jag ändra storleken på kolumnen i en MySQL-tabell?

  3. Kan jag kommaavgränsa flera rader i en kolumn?

  4. MariaDB JSON_VALUE() Förklarad