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

Oracle :tabela zawsze istnieje po upuszczeniu tabeli

Masz na myśli tę sprawę?

create view t_my_table as
select 'I''m here' as txt  from dual;

drop table t_my_table;

ORA-00942: table or view does not exist

Ale

select * from t_my_table;

TXT     
--------
I'm here

rozwiązanie najbardziej prawdopodobnej przyczyny

select OBJECT_TYPE from user_objects where object_name = 'T_MY_TABLE';

OBJECT_TYPE        
-------------------
VIEW

Zdefiniowałeś widok (lub inny typ obiektu niż TABLE), którego nie można usunąć za pomocą DROP TABLE , ale można wybrać .

Proste sprawdzenie w USER_OBJECTS OBJECT_TYPE . Możesz alternatywnie zobaczyć także SYNONYM jak zaproponowano w innej odpowiedzi.

Zauważ, że nie jest to MATERIALIZED VIEW tak jakbyś próbował upuścić widok zmaterializowany za pomocą DROP TABLE pojawia się inny komunikat o błędzie:

ORA-12083: must use DROP MATERIALIZED VIEW to drop T_MY_TABLE


  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 uzyskać definicję tabeli w Oracle?

  2. Różne daty Oracle 11g z TOAD

  3. Importuj zrzut z parametrem SQLFILE nie zwraca danych wewnątrz tabeli

  4. Alternatywy PostgreSQL i/lub SQL Server dla SYS_CONTEXT firmy Oracle

  5. Dowiedz się, jak wykonać procedurę w Toad For Oracle