Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle:таблицата винаги съществува след изтрита таблица

Имате предвид този случай?

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

Но

select * from t_my_table;

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

решение на най-вероятната причина

select OBJECT_TYPE from user_objects where object_name = 'T_MY_TABLE';

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

Дефинирахте изглед (или друг тип обект, различен от TABLE), който не може да бъде премахнат с DROP TABLE , но могат да бъдат избрани .

Проста проверка в USER_OBJECTS OBJECT_TYPE . Като алтернатива можете да видите и SYNONYM както е предложено в друг отговор.

Имайте предвид, че това не е MATERIALIZED VIEW сякаш се опитвате да премахнете материализиран изглед с DROP TABLE появява се различно съобщение за грешка:

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. ORA-01403:няма намерени данни за Select into

  2. Oracle PL/SQL колекции – Добавяне на елементи към съществуваща таблица

  3. Достъп до курсора по име на колона динамично

  4. Въпроси за интервю за Oracle

  5. Oracle - Извличане на дата/час в милисекунди от полето тип данни ДАТА