Karena 10g Oracle tidak langsung menjatuhkan tabel ketika kami mengeluarkan pernyataan DROP TABLE. Alih-alih, ia mengganti namanya seperti ini BIN$IN1vjtqhTEKcWfn9PshHYg==$0
dan memasukkannya ke dalam recycle bin. Ini memungkinkan kami untuk memulihkan tabel yang tidak ingin kami jatuhkan. Cari tahu lebih lanjut
.
Tabel di recycle bin masih berupa tabel, sehingga muncul di ALL_TABLES dan tampilan serupa. Jadi, jika Anda hanya ingin melihat komentar yang hanya berkaitan dengan tabel langsung (tidak dijatuhkan), Anda perlu memfilter menurut nama tabel:
select * from all_tab_comments
where substr(table_name,1,4) != 'BIN$'
/
Anda benar, itu akan luar biasa. Jadi saya memeriksa dokumentasi ternyata Oracle 10g menambahkan kolom bernama DROPPED ke tampilan USER_/ALL_/DBA_TABLES.
select tc.*
from all_tab_comments tc
join all_tables t
on tc.owner = t.owner
and tc.table_name = t.table_name
where t.dropped = 'NO'
/
Lihat dokumentasi . Jelas, kebutuhan untuk bergabung ke tampilan ALL_TABLES membutuhkan lebih banyak pengetikan daripada pemfilteran nama, jadi tergantung pada kebutuhan kita, mungkin lebih mudah untuk mempertahankan klausa WHERE asli.