sql >> Base de Datos >  >> RDS >> Oracle

Oracle:la tabla siempre existe después de la tabla desplegable

¿Te refieres a este caso?

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

Pero

select * from t_my_table;

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

solución de la causa más probable

select OBJECT_TYPE from user_objects where object_name = 'T_MY_TABLE';

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

Ha definido una vista (u otro tipo de objeto que no sea TABLE), que no se puede eliminar con DROP TABLE , pero se puede seleccionar .

Registro simple en USER_OBJECTS el OBJECT_TYPE . Alternativamente, también puede ver SYNONYM como se propone en otra respuesta.

Tenga en cuenta que no es una MATERIALIZED VIEW como si intentara soltar una vista materializada con DROP TABLE aparece un mensaje de error diferente:

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