Pular para o conteúdo principal

Questão de Banco de Dados — Oracle — FCC 2022

Banco de DadosOracle
Código
fc066081
Banca
FCC
Órgão
TRT - 23ª REGIÃO (MT)
Ano
2022
Cargo
Analista Judiciário - Área Apoio - Tecnologia da Informação
Considere o conjunto de instruções abaixo, executadas na tabela colaborador de um banco de dados Oracle aberto e em condições ideais.INSERT INTO colaborador(matricula, nome) VALUES (5, 'Manoel da Silva');SAVEPOINT a1;INSERT INTO colaborador(matricula, nome) VALUES (6, 'Andrea Teixeira');INSERT INTO colaborador(matricula, nome) VALUES (7, 'Marcos Moraes');Se na sequência forem executados os comandos ROLLBACK TO a1; e COMMIT;,
  1. Aapenas o insert do colaborador Marcos Moraes será realizado.
  2. Btodos os inserts serão cancelados.
  3. Capenas os inserts dos colaboradores Andrea Teixeira e Marcos Moraes serão realizados
  4. Dtodos os inserts serão realizados.
  5. Eapenas o insert referente ao colaborador Manoel da Silva será realizado.
Revelar gabarito e comentário

GabaritoE — apenas o insert referente ao colaborador Manoel da Silva será realizado.

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: Transações e SAVEPOINT

Gabarito: letra E. Após o ROLLBACK TO a1, apenas o primeiro INSERT (matrícula 5) permanece; os inserts seguintes (6 e 7) são desfeitos. O COMMIT posterior torna permanente apenas o registro remanescente.

A questão testa o funcionamento de SAVEPOINT e ROLLBACK TO no Oracle. O SAVEPOINT a1 marca um ponto na transação. O comando ROLLBACK TO a1 descarta todas as operações realizadas após esse marco, mantendo as anteriores. O COMMIT confirma a transação, persistindo as alterações que não foram revertidas.

  1. 1INSERT matrícula 5
  2. 2SAVEPOINT a1
  3. 3INSERT matrícula 6
  4. 4INSERT matrícula 7
  5. 5ROLLBACK TO a1
  6. 6COMMIT
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Afirma que apenas o insert de Marcos Moraes (matrícula 7) será realizado. Na verdade, esse insert foi executado após o savepoint e é descartado pelo ROLLBACK TO a1.

Alternativa B — ❌ Incorreta

Diz que todos os inserts serão cancelados. O primeiro insert (Manoel) foi feito antes do savepoint, portanto não é afetado pelo ROLLBACK TO a1 e é confirmado pelo COMMIT.

Alternativa C — ❌ Incorreta

Alega que serão realizados os inserts de Andrea Teixeira (6) e Marcos Moraes (7). Ambos estão após o savepoint e são revertidos.

Alternativa D — ❌ Incorreta

Afirma que todos os inserts serão realizados. O ROLLBACK TO a1 desfaz os dois últimos inserts, impedindo sua persistência.

Alternativa E — ✅ Correta ⟵ GABARITO

Apenas o insert de Manoel da Silva (matrícula 5) é realizado, pois foi executado antes do savepoint e não é desfeito pelo ROLLBACK TO a1. O COMMIT confirma essa única alteração.

PEGA ESSA DICA!

Em transações com savepoints, lembre-se: o ROLLBACK TO <savepoint> desfaz tudo que veio depois daquele ponto, mas preserva as operações anteriores. O COMMIT finaliza a transação, confirmando apenas o que restou.

Gabarito: letra E.

Link permanente: /questoes/fc066081