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;,
Aapenas o insert do colaborador Marcos Moraes será realizado.
Btodos os inserts serão cancelados.
Capenas os inserts dos colaboradores Andrea Teixeira e Marcos Moraes serão realizados
Dtodos os inserts serão realizados.
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.
1INSERT matrícula 5
2SAVEPOINT a1
3INSERT matrícula 6
4INSERT matrícula 7
5ROLLBACK TO a1
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.