CommencezCommencez gratuitement

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

Vous devez analyser certaines données sur vos clients bancaires dont le customer_id est compris entre 1 et 10. Vous souhaitez uniquement verrouiller les lignes de la table customers dont le customer_id se situe entre 1 et 10. Ainsi, vous garantissez que personne ne pourra modifier ces lignes et vous laissez les autres transactions travailler sur le reste de la table.

Vous devez sélectionner ces clients et exécuter de nouveau quelques opérations mathématiques. (Nous ne nous attarderons pas non plus sur ces opérations dans cet exercice.) Ensuite, vous voulez à nouveau sélectionner les clients avec un customer_id entre 1 et 10 pour vous assurer que rien n'a changé.

Comment pouvez-vous préparer le script?

Cette activité fait partie du cours

Transactions et gestion des erreurs dans SQL Server

Voir le cours

Instructions de l’exercice

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

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

-- 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