Est-ce que la sélectionnez interféré par DML
-
28-09-2019 - |
Question
Lors de l'utilisation de lecture propre (lecture validée) ... Est-ce une question de sélection être perturbé par la requête DML une autre (Insert, Update, Delete)? Si oui, pouvez-vous citer quelques cas. J'utilise SQL Server 2005.
Quelle est la possiblité la requête ci-dessous sera d'obtenir des données incorrectes. La requête n'utilise pas les jointures, il va chercher uniquement les données à partir d'une seule table basée sur une legislation relative.
Select PracticeCode, AccountNo, ProcCd, Modifier , ChargeDos, Paid as Amt, CreatedDate,
case When Paid > 0 then 'P'
When Paid = 0 and WrittenOff = DueAmt then 'A'
Else 'O'
End as Status
From Trn_Postings
Where CreatedDate between @StartDateTime and @EndDateTime
and ManualOverride not in ('F','S','X','G','O')
La solution
Lire commis des utilisations de niveau d'isolement des verrous partagés au niveau de la ligne pour éviter de lire des données sales. Cependant, étant donné que le verrouillage est au niveau de la ligne, les autres lignes peuvent changer avant que finalise de transaction, ce qui se lit ou données non reproductible fantôme.
Consultez la documentation Microsoft sur SET TRANSACTION ISOLEMENT NIVEAU pour plus de détails et