31 dez

Oracle – Consulta ao último registro de uma tabela histórico com “WITH”

Um artifício interessante para melhorar a performance de consultas históricos é a utilização do WITH.
Veja uma exemplo abaixo:

WITH 
    MEU_ALIAS_PARA_HISTORICO 
AS
(
    SELECT * FROM MEU_SCHEMA.MINHA_TABELA_HISTORICO
)
SELECT A.* 
FROM MEU_ALIAS_PARA_HISTORICO A,
(
    SELECT ID_TABELA_HISTORICO, MAX(DH_TABELA_HISTORICO) DH_TABELA_HISTORICO
    FROM MEU_ALIAS_PARA_HISTORICO
    GROUP BY ID_TABELA_HISTORICO
) B
WHERE A.ID_TABELA_HISTORICO = B.ID_TABELA_HISTORICO
AND A.DH_TABELA_HISTORICO = B.DH_TABELA_HISTORICO;