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

Как да получите коментари за таблица чрез SQL в Oracle?

Тъй като 10g Oracle не премахва незабавно таблици, когато издадем оператор DROP TABLE. Вместо това ги преименува така BIN$IN1vjtqhTEKcWfn9PshHYg==$0 и ги поставя в кошчето. Това ни позволява да възстановим таблици, които не сме искали да изпуснем. Научете повече .

Таблиците в кошчето все още са таблици, така че се показват във ALL_TABLES и подобни изгледи. Така че, ако искате да видите само коментари, отнасящи се само до живи (неизтрити) таблици, трябва да филтрирате по име на таблица:

select * from all_tab_comments
where substr(table_name,1,4) != 'BIN$'
/

Прав си, би било невероятно. Така че проверих документацията, оказа се, че Oracle 10g е добавил колона, наречена DROPPED, към изгледите 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'
/

Вижте документацията . Очевидно необходимостта от присъединяване към изгледа ALL_TABLES изисква повече въвеждане, отколкото филтриране на името, така че в зависимост от нашите нужди може да е по-лесно да запазим оригиналната клауза WHERE.



  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 10g Release 2

  2. Извършване на групови актуализации със съхранени процедури MyBatis и Oracle

  3. База данни на Oracle - ORA-01460 - поискано е неизпълнено или неразумно преобразуване

  4. какво е max(rowid) в Oracle

  5. преобразуването на oracle to_date, показващо литерала, не съответства на низовия формат