Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Sprawdź, czy tabela istnieje w Oracle

W Oracle Database istnieje wiele widoków, o które możemy zapytać, czy istnieje tabela.

Przykład

Na przykład USER_TABLES opisuje tabele relacyjne należące do bieżącego użytkownika.

SELECT TABLE_NAME 
FROM USER_TABLES 
WHERE TABLE_NAME = 'COUNTRIES';

Wynik:

COUNTRIES

W tym przykładzie sprawdziłem, czy istnieje tabela relacyjna o nazwie COUNTRIES należący do aktualnego użytkownika.

Moglibyśmy dostosować to zapytanie, aby zwracało tylko liczbę:

SELECT COUNT(TABLE_NAME)
FROM USER_TABLES 
WHERE TABLE_NAME = 'COUNTRIES';

Wynik:

1

W takim przypadku nazwa tabeli istnieje, więc liczba wynosi 1 .

Oto, co się dzieje, gdy tabela nie istnieje:

SELECT COUNT(TABLE_NAME)
FROM USER_TABLES 
WHERE TABLE_NAME = 'USERS';

Wynik:

0

W poniższej tabeli wymieniono inne widoki zawierające informacje o tabelach w bazie danych Oracle.

Widok Opis
USER_TABLES Opisuje relacyjne tabele posiadane przez bieżącego użytkownika (ten widok jest używany w powyższym przykładzie).
ALL_TABLES Opisuje tabele relacyjne dostępne dla bieżącego użytkownika.
DBA_TABLES Opisuje wszystkie relacyjne tabele w bazie danych.
USER_ALL_TABLES Opisuje tabele obiektów i tabele relacyjne należące do bieżącego użytkownika.
DBA_ALL_TABLES Opisuje wszystkie tabele obiektów i tabele relacyjne w bazie danych.
ALL_ALL_TABLES Opisuje tabele obiektów i tabele relacyjne dostępne dla bieżącego użytkownika.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę uzyskać liczbę dni między 2 datami w Oracle 11g?

  2. ORA-01882:nie znaleziono regionu strefy czasowej

  3. Ważna data sprawdzania w Oracle

  4. Wywołanie procedury Oracle z parametrem typu kolekcji PL/SQL przez .NET

  5. Jak odinstalować / całkowicie usunąć Oracle 11g (klient)?