ÎncepețiÎncepe gratuit

Când să faci commit sau rollback unei tranzacții

Banca la care lucrezi a decis să ofere 100 \( acelor conturi cu un sold mai mic de 5.000 \). Totuși, directorul băncii dorește să acorde această sumă doar dacă nu există mai mult de 200 de conturi cu un sold sub 5.000 $.

Pregătești un script pentru a acorda cei 100 \(, și dintre variantele posibile, alegi să deschizi o tranzacție și să actualizezi toate conturile cu un sold mai mic de 5.000 \). Ulterior, verifici numărul de rânduri afectate de actualizare, folosind funcția @@ROWCOUNT. Dacă acest număr este mai mare de 200, faci rollback tranzacției. În caz contrar, o confirmi cu commit.

Cum pregătești scriptul?

Acest exercițiu face parte din cursul

Tranzacții și gestionarea erorilor în SQL Server

Vezi cursul

Instrucțiuni pentru exercițiu

  • Începe tranzacția.
  • Verifică dacă numărul de rânduri afectate este mai mare de 200.
  • Fă rollback tranzacției dacă numărul de rânduri afectate depășește 200.
  • Fă commit tranzacției dacă numărul de rânduri afectate este mai mic sau egal cu 200.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

-- Begin the transaction
___ ___; 
	UPDATE accounts set current_balance = current_balance + 100
		WHERE current_balance < 5000;
	-- Check number of affected rows
	IF @@ROWCOUNT > ___ 
		BEGIN 
        	-- Rollback the transaction
			___ ___; 
			SELECT 'More accounts than expected. Rolling back'; 
		END
	ELSE
		BEGIN 
        	-- Commit the transaction
			___ ___; 
			SELECT 'Updates commited'; 
		END
Editează și rulează codul