Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como posso encontrar a coluna e o nome da tabela subjacentes para uma exibição do Oracle?


As tabelas usadas para criar a visualização podem ser selecionadas usando a consulta:
select 
  name , 
  type , 
  referenced_name , 
  referenced_type
from 
  user_dependencies 
where 
  name = 'VIEW_NAME' and 
  type = 'VIEW' and  
  referenced_type = 'TABLE';

Se as colunas de visualização tiverem o mesmo nome de coluna da coluna da tabela, tente a consulta abaixo:
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');