Gostaria de encontrar a lista de colunas computadas no banco de dados Oracle usando o Oracle Data Dictionary Views .
Eu gostaria de adicionar mais informações. Suponha que eu tenha a seguinte coluna computada/calculada no banco de dados.
ALTER TABLE HR.EMPLOYEES
ADD FULL_NAME AS ( FIRST_NAME || ' ' || LAST_NAME);
Posso selecionar este valor de coluna em Select Statements.
SELECT EMPLOYEE_ID,FULL_NAME FROM HR.EMPLOYEES;
Resultados
... 174 Ellen Abel ...
Posso ver esta coluna na exibição TAB_COLUMNS.
select * from all_tab_columns C
WHERE
1 = 1
AND C.table_name = 'EMPLOYEES'
AND C.OWNER = 'HR'
AND COLUMN_NAME = 'FULL_NAME'
;
Gostaria de encontrar determinado esquema, tabela e coluna, descobrir se esta coluna é calculada/computada?
Eu pensei erroneamente que a visão INDEXES me dá essa informação. Mas a seleção seguinte não retorna nenhuma linha. Isso fornece apenas índices funcionais.
SELECT index_name,index_Type,I.*
FROM ALL_indexes I
WHERE
1 = 1
AND INDEX_TYPE LIKE 'FUNCTION-BASED%'
AND I.OWNER = 'HR'
A coluna
USER_TAB_COLS.virtual_column = 'YES'
indica se é uma coluna virtual.Você pode obter as expressões para cada coluna com: