sql >> Database teknologi >  >> RDS >> Oracle

Hvordan kan jeg finde den underliggende kolonne og tabelnavn for en Oracle-visning?

Tabeller, der bruges til at oprette visningen, kan vælges ved hjælp af forespørgslen:

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

Hvis visningskolonner har samme kolonnenavn som tabelkolonne, så prøv venligst nedenstående forespørgsel:

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');


  1. Gennemsnit på en count() i samme forespørgsel

  2. Dynamisk forespørgsel i triggerfunktion i PostgreSQL

  3. Opdater sætning ved hjælp af et WHERE-udtryk, der indeholder kolonner med null-værdier

  4. Tabel- eller kolonnenavn kan ikke starte med numerisk?