web-dev-qa-db-ja.com

Oracleのデータベースオブジェクトがテーブルまたはビューかどうかを確認する方法

オブジェクト名のリストがあり、そこからオブジェクトがテーブルかビューかを確認する必要があります。このため、all_tablesとall_viewsをクエリしてチェックインし、オブジェクトがテーブルかビューかを確認する必要があります。以下のクエリとその動作を使用しています。しかし、オブジェクト名の巨大なリストがあるので、これを単一のクエリで実行し、オブジェクトがテーブルまたはビューであるかどうか、およびオブジェクトの所有者であるかどうかを確認します。

select * from ALL_views where view_name like '%INSTANCE%'

select * from all_tables where table_name like '%INSTANCE%'
13
Andrew
select *
  from all_objects 
 where object_name like '%INSTANCE%'

そこにOBJECT_TYPE列があります。

21
MarioAna

代わりにall_objectsを使用するのはどうですか?

例えば。:

select owner,
       object_name,
       object_type
from   all_objects
where  object_type in ('TABLE', 'VIEW')
and    object_name in (....);
12
Boneist