Zacznij terazZacznij za darmo

Kiedy zatwierdzić, a kiedy wycofać transakcję

Bank, w którym pracujesz, postanowił przyznać 100 USD właścicielom kont z saldem poniżej 5 000 USD. Dyrektor banku chce jednak wypłacić te środki tylko wtedy, gdy takich kont jest nie więcej niż 200.

Przygotowujesz skrypt, który doda te 100 USD. Spośród różnych możliwych podejść decydujesz się otworzyć transakcję, a następnie zaktualizować każde konto z saldem poniżej 5 000 USD. Następnie sprawdzasz liczbę wierszy zmodyfikowanych przez aktualizację, korzystając z funkcji @@ROWCOUNT. Jeśli ta liczba jest większa niż 200, wycofujesz transakcję. W przeciwnym razie zatwierdzasz ją.

Jak przygotować taki skrypt?

To ćwiczenie jest częścią kursu

Transakcje i obsługa błędów w SQL Server

Zobacz kurs

Instrukcje do ćwiczenia

  • Rozpocznij transakcję.
  • Sprawdź, czy liczba zmodyfikowanych wierszy jest większa niż 200.
  • Wycofaj transakcję, jeśli liczba zmodyfikowanych wierszy przekracza 200.
  • Zatwierdź transakcję, jeśli liczba zmodyfikowanych wierszy wynosi 200 lub mniej.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

-- 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
Edytuj i uruchom kod