CommencerCommencer gratuitement

Empêcher les lectures fantômes sur certaines lignes uniquement

Vous devez analyser des données concernant vos clients de banque dont le customer_id est compris entre 1 et 10. Vous voulez uniquement verrouiller les lignes de la table customers dont le customer_id est compris entre 1 et 10. Ce faisant, vous garantissez que personne ne pourra modifier ces lignes et vous permettez aux autres transactions de travailler sur le reste de la table.

Vous devez sélectionner ces clients et exécuter à nouveau quelques opérations mathématiques. (Nous ne nous concentrerons pas sur ces opérations dans cet exercice.) Ensuite, vous souhaitez sélectionner à nouveau les clients avec un customer_id entre 1 et 10, en vous assurant que rien n’a changé.

Comment préparer le script ?

Cet exercice fait partie du cours

Transactions et gestion des erreurs dans SQL Server

Afficher le cours

Instructions

  • Définissez le niveau d’isolation approprié pour empêcher les lectures fantômes.
  • Démarrez une transaction.
  • Sélectionnez les clients que vous souhaitez verrouiller.
  • Validez la transaction.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

-- 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
___ ___
Modifier et exécuter le code