Questão de Banco de Dados — SQL — CESPE / CEBRASPE 2026
- Código
- ce229668
- Banca
- CESPE / CEBRASPE
- Órgão
- TCE-RN
- Ano
- 2026
- Nível
- Superior
- Cargo
- Auditor de Controle Externo - Especialidade: Tecnologia da Informação
- CCerto
- EErrado
GabaritoC — Certo
Esta questão depende de um texto-base não disponível, mas a análise conceitual pode ser feita independentemente. A afirmativa é auto-contida e descreve corretamente o uso de ROW_NUMBER() para identificar a versão mais recente de cada contrato.
✅ CERTO. A descrição está correta. A função de janela ROW_NUMBER() atribui um número sequencial a cada linha dentro de uma partição, com a ordenação especificada. Ao particionar por contrato (PARTITION BY contrato) e ordenar por data_atualizacao DESC, cada linha recebe um número que reflete sua posição cronológica dentro do grupo. A linha com ROW_NUMBER = 1 é a mais recente (ou a mais antiga, dependendo da ordenação). Para identificar a versão mais recente, a ordenação decrescente é a adequada.
A ressalva sobre a granularidade da coluna data_atualizacao é pertinente. Se dois registros do mesmo contrato tiverem o exato mesmo timestamp, a ordenação não será unívoca — o ROW_NUMBER() atribuirá valores arbitrários para esses empates, podendo não garantir qual é a versão "efetivamente" mais recente. Portanto, a abordagem é eficaz desde que a coluna temporal tenha resolução suficiente (ex.: até milissegundos) para diferenciar cada atualização.
Gabarito: Certo (C).
Link permanente: /questoes/ce229668