Questão de Banco de Dados — Oracle — FUNDATEC 2023
Banco de Dados›Oracle
Código
qq896740
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Desenvolvimento Oracle PL/SQL
Considere o seguinte comando:CREATE SEQUENCE sequenciaquestaoSTART WITH 100INCREMENT BY 2NOCACHENOCYCLE;Analise as assertivas abaixo e assinale a alternativa correta.I. No ORACLE, se forem omitidas as cláusulas CACHE e NOCACHE na criação da SEQUENCE, o banco de dados irá fazer um CACHE de 20 sequencias por default.II. Quando uma transação gerou e utilizou valores de uma SEQUENCE e a transação for finalizada com ROOLBACK, os valores gerados para SEQUENCE também serão desfeitos e ela voltará ao valor que tinha antes.III. A primeira referência a sequenciaquestao.NEXTVAL retornará o valor 101.
ATodas estão corretas.
BTodas estão incorretas.
CApenas I está correta.
DApenas II está correta.
EApenas III está correta.
Revelar gabarito e comentário▾
GabaritoC — Apenas I está correta.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Oracle SEQUENCE: cláusulas CACHE, transação e NEXTVAL
Gabarito: letra C. Apenas a assertiva I está correta. No Oracle, quando não se especifica CACHE nem NOCACHE na criação de uma sequence, o default é CACHE 20. As assertivas II e III são falsas: a sequence não é afetada por ROLLBACK (os valores gerados persistem) e o primeiro NEXTVAL retorna o valor definido em START WITH (100), não 101.
Assertiva
Conteúdo
Correta?
Motivo
I
No Oracle, se omitidas CACHE e NOCACHE, o default é CACHE 20
✅ Sim
Documentação oficial do Oracle confirma o padrão CACHE 20
II
ROLLBACK desfaz valores gerados pela sequence e a retorna ao valor anterior
❌ Não
Sequences são independentes de transação; ROLLBACK não as afeta
III
Primeiro NEXTVAL retorna 101
❌ Não
START WITH 100 → primeiro NEXTVAL retorna 100, não 101
Oracle SEQUENCE: CACHE (Omitido → default 20, NOCACHE → sem cache); Transação (NEXTVAL persiste, ROLLBACK não desfaz); NEXTVAL (Primeira chamada = START WITH, Segunda chamada = START WITH + INCREMENT)
Assertiva I — ✅ Correta
No Oracle, se as cláusulas CACHE e NOCACHE são omitidas, o banco de dados utiliza o valor padrão de CACHE 20. Isso está documentado na documentação oficial do Oracle para criação de sequences.
Assertiva II — ❌ Incorreta
Sequences são objetos independentes de transação. Uma vez que um valor é gerado com NEXTVAL, ele não é desfeito por um ROLLBACK. A sequence continua seu incremento normalmente, independentemente do sucesso ou falha da transação.
Assertiva III — ❌ Incorreta
O primeiro NEXTVAL de uma sequence retorna exatamente o valor especificado em START WITH. Como a sequence foi criada com START WITH 100, a primeira chamada a sequenciaquestao.NEXTVAL retorna 100, não 101. Apenas a segunda chamada retornaria 102 (100 + 2).
NÃO CAIA NESSA!
A assertiva III tenta confundir o candidato ao sugerir que o primeiro NEXTVAL retorna já o incremento. Lembre-se: NEXTVAL retorna o valor inicial puro; é CURRVAL que mostra o último valor gerado. Já a assertiva II explora a ideia intuitiva de que um ROLLBACK desfaz tudo, mas sequences fogem a essa regra — são objetos autônomos.
Gabarito: letra C — apenas a assertiva I está correta.