Pular para o conteúdo principal

Questão de Banco de Dados — Transações (Locks, ACID, etc.) — IBFC 2025

Banco de DadosTransações (Locks, ACID, etc.)
Código
qa699045
Banca
IBFC
Órgão
TJ PE
Ano
2025
Cargo
AJ ( )

Com relação às Transações, dado o código abaixo em PL/pgSQL e no momento inicial o saldo de Alice = 100, Jorge = 0 e Celso = 0.

 

1 BEGIN;
2 UPDATE Contas SET saldo = saldo - 100.00
    WHERE name = 'Alice';
3 SAVEPOINT my_savepoint;
4 UPDATE Contas SET saldo = saldo + 100.00
    WHERE name = 'Jorge';
5 -- oops ... Me Enganei era para creditar Celso
6 ROLLBACK TO my_savepoint;
7 UPDATE Contas SET saldo = saldo + 100.00
    WHERE name = 'Celso';
8 COMMIT

 

Diante do exposto, analise as afirmativas abaixo.

 

I. Efetivados os comandos até a linha 2 inclusive, caso seja feita uma consulta na tabela contas em outra conexão com o banco de dados, o saldo de Alice mostrará que foi debitado de 100, ou seja, saldo=0.

 

II. Efetivados os comandos até a linha 6 inclusive, o saldo de Jorge na transação atual voltará para o estado da posição my_savepoint com o saldo=0.

 

III. Efetivado o comando até a linha 7 inclusive, os saldo na transação atual de Alice = 0, Jorge = 0, Celso = 100.

 

Estão corretas as afirmativas:

  1. AI, II e III
  2. B II e III apenas
  3. C III apenas
  4. D I apenas.
Revelar gabarito e comentário

GabaritoB — II e III apenas

Link permanente: /questoes/qa699045