IniziaInizia gratis

Impedire le phantom reads solo su alcune righe

Devi analizzare alcuni dati dei clienti della tua banca con customer_id compreso tra 1 e 10. Vuoi bloccare solo le righe della tabella customers con customer_id tra 1 e 10. In questo modo, garantisci che nessuno possa modificare queste righe e permetti alle altre transazioni di lavorare sul resto della tabella.

Devi selezionare i clienti ed eseguire di nuovo alcune operazioni matematiche. (In questo esercizio non ci concentreremo su queste operazioni.) Dopodiché, vuoi selezionare di nuovo i clienti con customer_id tra 1 e 10, assicurandoti che nulla sia cambiato.

Come puoi preparare lo script?

Questo esercizio fa parte del corso

Transazioni e gestione degli errori in SQL Server

Visualizza il corso

Istruzioni dell'esercizio

  • Imposta il livello di isolamento appropriato per impedire le phantom reads.
  • Avvia una transazione.
  • Seleziona i clienti che vuoi bloccare.
  • Esegui il COMMIT della transazione.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

-- 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
___ ___
Modifica ed esegui il codice