FC ConcursosFC Concursos

Questão FC369596

Transação é uma unidade lógica de trabalho e é fundamental para garantir a integridade e a consistência dos dados. Observe o seguinte script de uma transação implementada no MySQL:

Sistema de Gerenciamento de Banco de Dados (SGBD)

FGV · 2024

Transação é uma unidade lógica de trabalho e é fundamental para garantir a integridade e a consistência dos dados.

 

Observe o seguinte script de uma transação implementada no MySQL:

 

CREATE TABLE candidato (id INT, nome CHAR (50),
INDEX (id));
START TRANSACTION;
INSERT INTO candidato VALUES (1, 'JULIA');
INSERT INTO candidato VALUES (2, 'MARIA');
COMMIT;
SET autocommit = 0;
INSERT INTO candidato VALUES (3, 'SOFIA');
UPDATE candidato SET nome='ANA' WHERE id=3;
DELETE FROM candidato WHERE nome='JULIA';
ROLLBACK;
SELECT * FROM candidato;

 

Após a execução do script apresentado, a consulta retornará as colunas id e nome com os valores:

  1. 2,MARIA
  2. 1,JULIA 2,MARIA
  3. 1,JULIA 2,MARIA 3,SOFIA
  4. 1,JULIA 2,MARIA 3,ANA
  5. 2,MARIA 3,ANA
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

O script cria a tabela e, com START TRANSACTION, insere os registros (1, JULIA) e (2, MARIA). Em seguida é executado COMMIT, que torna essas duas inserções permanentes no banco.

Depois do COMMIT é definido SET autocommit = 0, desativando a confirmação automática: as operações seguintes passam a fazer parte de uma transação que precisa de confirmação explícita.

São então executados INSERT (3, SOFIA), UPDATE (troca para ANA) e DELETE (remove JULIA). O comando ROLLBACK reverte todas as alterações feitas desde a última confirmação.

Como apenas as duas primeiras inserções foram confirmadas, o SELECT final apresenta os registros: 1, JULIA e 2, MARIA.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo