Considere, inicialmente o mesmo saldo para as 3 contas, ou seja, Saldo = 2.000 Analise os comandos abaixo

e responda:

BEGIN TRANSACTION T1
UPDATE Banco
SET Saldo = ((SELECT Saldo FROM Banco WHERE Conta = 10) - 100)
WHERE Conta = 10

BEGIN TRANSACTION T2
UPDATE Banco
SET Saldo = ((SELECT Saldo FROM Banco WHERE Conta = 20) - 200)
WHERE Conta = 20

UPDATE Banco
SET Saldo = ((SELECT Saldo FROM Banco WHERE Conta = 20) + 100)
WHERE Conta = 20
COMMIT TRANSACTION T1

UPDATE Banco
SET Saldo = ((SELECT Saldo FROM Banco WHERE Conta = 30) + 200)
WHERE Conta = 30
COMMIT TRANSACTION T2

A transação T1 está em execução pelo usuário A e antes que a mesma seja concluída, o usuário B inicia a transação T2, conforme demonstrado acima.

a)Considerando os comandos conforme estão escritos acima, ou seja, usando transações, quais serão os valores do campo Saldo das 3 contas, assim que finalizar as 2 transações (T1 e T2)?
Conta = 10
Conta = 20
Conta = 30

b)Considerando os comandos acima, sem gerencias as transações, supondo exatamente os mesmos tempos e seqüências de execução, quais serão os valores do campo Saldo das 3 contas?
Conta = 10
Conta = 20
Conta = 30

RESPONDER

Yarawaneska está aguardando sua ajuda, Clique aqui para responder.