Kom igångKom igång gratis

Förhindra fantomläsningar för vissa rader

Du behöver analysera data om dina bankkunder med customer_id mellan 1 och 10. Du vill bara låsa raderna i tabellen customers där customer_id är mellan 1 och 10. På så sätt garanterar du att ingen kan ändra dessa rader, samtidigt som andra transaktioner kan arbeta med resten av tabellen.

Du behöver hämta kunderna och utföra några matematiska operationer igen. (Vi fokuserar inte på dessa operationer i den här övningen heller.) Därefter vill du hämta kunderna med customer_id mellan 1 och 10 igen och kontrollera att ingenting har förändrats.

Hur förbereder du skriptet?

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

Transaktioner och felhantering i SQL Server

Visa kurs

Övningsinstruktioner

  • Ange lämplig isoleringsnivå för att förhindra fantomläsningar.
  • Påbörja en transaktion.
  • Välj de kunder du vill låsa.
  • Genomför transaktionen.

Interaktiv övning med praktiskt arbete

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

-- Set the appropriate isolation level
___ ___ ___ ___ ___

-- Begin a transaction
___ ___

-- Select customer_id between 1 and 10
SELECT * 
FROM customers
___ customer_id ___ ___ AND ___;

-- After completing some mathematical operation, select customer_id between 1 and 10
SELECT * 
FROM customers
___ customer_id ___ ___ AND ___;

-- Commit the transaction
___ ___
Redigera och kör kod