2015-08-06 21 views
5

Ho una lista di nomi di oggetti da cui devo scoprire se l'oggetto è una tabella o una vista. Per questo motivo devo interrogare e verificare tutti i_tables e all_views e confermare se l'oggetto è tabella o vista. Sto usando sotto le domande e il suo funzionamento. Ma come ho una lista enorme di nomi di oggetti voglio eseguire questo in una singola query e controllare se l'oggetto è tabella o vista e anche il proprietario dell'oggetto.Come verificare se un oggetto di database in Oracle è una tabella o una vista

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

select * from all_tables where table_name like '%INSTANCE%' 

risposta

7
select * 
    from all_objects 
where object_name like '%INSTANCE%' 

C'è una colonna OBJECT_TYPE in là.

+0

grazie funziona per me :) – Andrew

8

Come utilizzare invece all_objects?

Es .:

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