Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment puis-je trouver la colonne sous-jacente et le nom de la table pour une vue Oracle ?

Les tables utilisées pour créer la vue peuvent être sélectionnées à l'aide de la requête :

select 
  name , 
  type , 
  referenced_name , 
  referenced_type
from 
  user_dependencies 
where 
  name = 'VIEW_NAME' and 
  type = 'VIEW' and  
  referenced_type = 'TABLE';

Si les colonnes de vue ont le même nom de colonne que la colonne de table, essayez la requête ci-dessous :

select 
  distinct table_name, column_name 
from 
  all_tab_columns 
where table_name in (select
                        referenced_name
                      from 
                        user_dependencies 
                      where 
                        name = 'VIEW_NAME' and 
                        type = 'VIEW' and  
                        referenced_type = 'TABLE') 
 and column_name in (select 
                        column_name 
                     from 
                        all_tab_columns 
                     where 
                        table_name = 'VIEW_NAME');