Questão nº 44

Questão de Tecnologia da Informação · FCC TRT23 2022 (nº 44)

FCC2022Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Ever comentário ↓

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;`,

Resposta comentada

Gabarito Alternativa E

Transações são conjuntos de operações que devem ser tratadas como uma única unidade: ou todas são concluídas com sucesso (COMMIT), ou nenhuma delas é (ROLLBACK). Um SAVEPOINT marca um ponto intermediário dentro de uma transação, permitindo que você desfaça (ROLLBACK TO) apenas as operações realizadas após aquele ponto, sem cancelar a transação inteira.

  • INSERT INTO colaborador(matricula, nome) VALUES (5, 'Manoel da Silva'); - O colaborador 5 é inserido. A transação é iniciada.
  • SAVEPOINT a1; - Um ponto de salvamento a1 é criado. O colaborador 5 está na transação.
  • INSERT INTO colaborador(matricula, nome) VALUES (6, 'Andrea Teixeira'); - O colaborador 6 é inserido.
  • INSERT INTO colaborador(matricula, nome) VALUES (7, 'Marcos Moraes'); - O colaborador 7 é inserido.
  • ROLLBACK TO a1; - Este comando desfaz todas as operações que ocorreram após o SAVEPOINT a1. Portanto, as inserções dos colaboradores 6 e 7 são desfeitas. A inserção do colaborador 5, que ocorreu antes de a1, permanece na transação.
  • COMMIT; - Este comando torna permanentes todas as alterações que não foram desfeitas na transação. Neste ponto, apenas a inserção do colaborador 5 permanece, então ela é confirmada no banco de dados.

(A) Incorreta: O insert do colaborador Marcos Moraes (7) foi desfeito pelo ROLLBACK TO a1;.
(B) Incorreta: Esta é a armadilha. Um ROLLBACK sem TO a1 cancelaria tudo, mas ROLLBACK TO a1 cancela apenas as operações após o a1. O insert do colaborador Manoel da Silva (5) ocorreu antes do SAVEPOINT a1 e, portanto, não foi cancelado.
(C) Incorreta: Os inserts dos colaboradores Andrea Teixeira (6) e Marcos Moraes (7) foram desfeitos pelo ROLLBACK TO a1;.
(D) Incorreta: Os inserts dos colaboradores Andrea Teixeira (6) e Marcos Moraes (7) foram desfeitos pelo ROLLBACK TO a1;.
(E) Correta: O insert do colaborador Manoel da Silva (5) ocorreu antes do SAVEPOINT a1. O comando ROLLBACK TO a1; desfez apenas as operações posteriores a a1 (inserções 6 e 7). O COMMIT; finalizou a transação, tornando permanente a única alteração que restou: a inserção do colaborador 5.

Fonte: FCC TRT23 2022 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho