Questão nº 57
Questão de Banco de Dados · FGV CGU 2021 - Tarde (nº 57)
No âmbito do PostgreSQL 12, considere o comando a seguir.
```sql
CREATE SEQUENCE TESTE
```
Ao objeto `TESTE`, assim criado, aplicam-se as seguintes funções nativas:
- Abefore, after;
- Bcommit, abort;
- Ccurrval, nextval; (alternativa correta)
- Dlow, high;
- Enext, last.
Resposta comentada
Gabarito Alternativa C
Sequências no PostgreSQL são objetos que geram números inteiros sequenciais automaticamente. As funções nativas mais usadas são nextval (que avança a sequência e retorna o novo valor) e currval (que retorna o último valor gerado na sessão atual).
- (A) Incorreta:
beforeeaftersão palavras-chave de triggers (gatilhos), não funções de sequência. - (B) Incorreta:
commiteabortsão comandos de transação, não funções de sequência. - (C) Correta:
currvalenextvalsão as funções nativas do PostgreSQL para sequências:nextvalgera o próximo valor ecurrvalconsulta o valor atual da sessão. - (D) Incorreta:
lowehighnão existem como funções de sequência no PostgreSQL. - (E) Incorreta:
nextelastnão são funções nativas de sequência; o correto énextvalecurrval.
Armadilha da banca: A alternativa (E) tenta confundir com termos genéricos em inglês ("next" e "last") que parecem lógicos para uma sequência, mas o PostgreSQL usa nomes específicos com sufixo "val" (valor). Não caia na tentação de traduzir conceitos; decore os nomes exatos das funções.
Fonte: FGV CGU 2021 - Tarde Auditor Federal de Finanças e Controle - Área Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.