Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle:Tabelle existiert immer nach Drop-Tabelle

Du meinst diesen Fall?

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

Aber

select * from t_my_table;

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

Lösung der wahrscheinlichsten Ursache

select OBJECT_TYPE from user_objects where object_name = 'T_MY_TABLE';

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

Sie haben eine Ansicht (oder einen anderen Objekttyp als TABLE) definiert, der nicht mit DROP TABLE gelöscht werden kann , kann aber ausgewählt werden .

Einfach USER_OBJECTS einchecken der OBJECT_TYPE . Alternativ können Sie auch SYNONYM sehen wie in der anderen Antwort vorgeschlagen.

Beachten Sie, dass es keine MATERIALIZED VIEW ist als ob Sie versuchen würden, eine Materialized View mit DROP TABLE zu löschen eine andere Fehlermeldung wird ausgelöst:

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