sql >> Database teknologi >  >> RDS >> Oracle

Oracle:tabel eksisterer altid efter drop tabel

Du mener denne sag?

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

Men

select * from t_my_table;

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

løsning af den mest sandsynlige årsag

select OBJECT_TYPE from user_objects where object_name = 'T_MY_TABLE';

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

Du har defineret en visning (eller en anden objekttype end TABLE), som ikke kan slettes med DROP TABLE , men kan vælges .

Simpel tjek ind USER_OBJECTS OBJECT_TYPE . Du kan alternativt også se SYNONYM som foreslået i andet svar.

Bemærk, at det ikke er en MATERIALIZED VIEW som om du forsøger at droppe en materialiseret visning med DROP TABLE en anden fejlmeddelelse vises:

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


  1. Opret tabelsyntaksfejl

  2. Hvordan ignorerer man SequelizeUniqueConstraintError i Sequelize?

  3. Kopier data fra en tabel til en anden OG tilføj yderligere data

  4. Når du prøver at ændre brugernavn, mislykkes MySQL-forespørgsel