Questão de Banco de Dados — Transações (Locks, ACID, etc.) — IBFC 2025
- 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:
- AI, II e III
- B II e III apenas
- C III apenas
- D I apenas.