Considere o seguinte comando: CREATE SEQUENCE sequenciaques...

Próximas questões
Com base no mesmo assunto
Q2172662 Banco de Dados
Considere o seguinte comando:
CREATE SEQUENCE sequenciaquestao  START WITH 100  INCREMENT BY 2  NOCACHE  NOCYCLE;
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.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - Apenas I está correta.

Vamos analisar cada uma das assertivas para entender o tema da questão:

A sequência (SEQUENCE) no Oracle é um objeto que gera números sequenciais, não necessariamente consecutivos, mas sempre em uma ordem crescente ou decrescente. Eles são frequentemente usados para criar valores únicos para colunas de chave primária.

Assertiva I: Este comando CREATE SEQUENCE foi usado para criar uma SEQUENCE chamada sequenciaquestao. Se as cláusulas CACHE ou NOCACHE não forem especificadas, o Oracle usará um valor padrão para o cache de sequências, que é 20. Isso significa que o banco de dados mantém 20 valores da sequência na memória para acesso rápido, o que ajuda a melhorar a performance ao reduzir o número de vezes que é necessário acessar o disco para obter um novo valor. Essa assertiva está correta.

Assertiva II: As sequências são independentes de transações. Isso significa que uma vez que um valor de NEXTVAL é gerado, ele não é revertido mesmo se a transação for desfeita com um ROLLBACK. Portanto, os valores gerados para a SEQUENCE não serão desfeitos e o próximo valor de NEXTVAL será o subsequente ao último valor gerado, não voltando ao valor anterior ao da transação. Por isso, essa assertiva está incorreta.

Assertiva III: A SEQUENCE foi criada para começar do valor 100 e incrementar de 2 em 2. Assim, ao chamar sequenciaquestao.NEXTVAL, o primeiro valor que será retornado é 100, e não 101, pois o START WITH 100 define o ponto de partida para a sequência. Portanto, essa assertiva também está incorreta.

Com base na análise das assertivas, a alternativa correta é a C, pois somente a assertiva I está correta.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo