Um Técnico em informática utilizou, em um banco de dados aberto e em condições ideais, as instruções abaixo.UPDATE funcionarios SET nome= 'Pedro' WHERE id=1;SAVEPOINT altera;INSERT INTO funcionarios VALUES (2,'Marcos');Para descartar o que foi realizado após o SAVEPOINT, ou seja, a inserção do funcionário Marcos, utiliza-se a instrução PL/SQL
ARESTORE TO altera WITH UNDO OPTION;
BROLLBACK TO altera;
CUNDO TO altera;
DCOMMIT TO altera.
EUNMAKE TO altera WITH ROLLBACK OPTION;
Revelar gabarito e comentário▾
GabaritoB — ROLLBACK TO altera;
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”.
PL/SQL: SAVEPOINT e ROLLBACK
Gabarito: letra B. O comando ROLLBACK TO altera desfaz todas as alterações realizadas após o SAVEPOINT "altera", mantendo o UPDATE anterior. Essa é a sintaxe padrão da Oracle para reverter até um ponto de salvamento, sem afetar o que foi feito antes dele.
A questão testa o conhecimento de transações em PL/SQL (Oracle). O SAVEPOINT cria um ponto de restauração dentro da transação; o ROLLBACK TO <savepoint> permite descartar apenas as operações posteriores, preservando as anteriores. O comando ROLLBACK sozinho (sem TO) desfaria toda a transação.
Comando
Função
Sintaxe Válida?
Efeito
ROLLBACK TO altera
Desfaz alterações após o SAVEPOINT
Sim
Mantém o UPDATE, descarta o INSERT
RESTORE TO altera WITH UNDO OPTION
Inexistente
Não
Distrator
UNDO TO altera
Inexistente
Não
Distrator
COMMIT TO altera
Inexistente
Não
COMMIT não aceita TO
UNMAKE TO altera WITH ROLLBACK OPTION
Inexistente
Não
Distrator
1UPDATE funcionariosPasso 1
2SAVEPOINT alteraPasso 2
3INSERT funcionariosPasso 3
4ROLLBACK TO alteraPasso 4
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
RESTORE TO altera WITH UNDO OPTION não é um comando válido em PL/SQL. Não existe sintaxe com "RESTORE" para reverter transações.
Alternativa B — ✅ Correta ⟵ GABARITO
ROLLBACK TO altera é exatamente o comando correto. Ele descarta o INSERT realizado após o SAVEPOINT, mantendo o UPDATE.
Alternativa C — ❌ Incorreta
UNDO TO altera não é um comando válido. A palavra UNDO não é usada em PL/SQL para desfazer transações.
Alternativa D — ❌ Incorreta
COMMIT TO altera não existe. COMMIT finaliza a transação permanentemente; não aceita a cláusula TO.
Alternativa E — ❌ Incorreta
UNMAKE TO altera WITH ROLLBACK OPTION não é um comando válido. Não há sintaxe "UNMAKE" em PL/SQL.
PEGA ESSA DICA!
Decore a sintaxe: ROLLBACK TO savepoint_name é o único jeito de desfazer operações até um ponto específico sem perder o resto. Na prova, descarte comandos como UNDO, UNMAKE, RESTORE — eles são distratores.