Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle :tabel selalu ada setelah drop table

Maksud Anda kasus ini?

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

Tapi

select * from t_my_table;

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

solusi dari penyebab yang paling mungkin

select OBJECT_TYPE from user_objects where object_name = 'T_MY_TABLE';

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

Anda mendefinisikan tampilan (atau jenis objek lain selain TABLE), yang tidak dapat dihapus dengan DROP TABLE , tetapi dapat dipilih .

Cek sederhana di USER_OBJECTS OBJECT_TYPE . Sebagai alternatif, Anda juga dapat melihat SYNONYM seperti yang diusulkan dalam jawaban lain.

Perhatikan bahwa ini bukan MATERIALIZED VIEW seolah-olah Anda mencoba untuk menjatuhkan Tampilan Terwujud dengan DROP TABLE pesan kesalahan yang berbeda muncul:

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. Oracle memilih sub string bersama

  2. pilih saja dan hanya catatan tertentu di oracle

  3. Hindari memasukkan nilai eksponensial di kolom DB Float

  4. fungsi interval di oracle

  5. cx_Oracle:Menggunakan tipe PL/SQL RECORD sebagai argumen untuk prosedur tersimpan