Kom igångKom igång gratis

Välja när en transaktion ska committats eller återställas

Banken där du arbetar har beslutat att ge 100 dollar till de konton som har mindre än 5 000 dollar. Bankdirektören vill dock bara betala ut pengarna om det inte finns fler än 200 sådana konton.

Du förbereder ett skript för att dela ut dessa 100 dollar. Av flera möjliga tillvägagångssätt väljer du att öppna en transaktion och sedan uppdatera alla konton med ett saldo under 5 000 dollar. Därefter kontrollerar du hur många rader som påverkades av uppdateringen med hjälp av funktionen @@ROWCOUNT. Om antalet är större än 200 återställer du transaktionen. Annars genomför du den.

Hur förbereder du skriptet?

Den här övningen är en del av kursen

Transaktioner och felhantering i SQL Server

Visa kurs

Övningsinstruktioner

  • Påbörja transaktionen.
  • Kontrollera om antalet påverkade rader är större än 200.
  • Återställ transaktionen om antalet påverkade rader är fler än 200.
  • Genomför transaktionen om antalet påverkade rader är 200 eller färre.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

-- 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
Redigera och kör kod