使用干净读取(Read committed)时...选择查询是否会受到另一个DML(插入,更新,删除)查询的干扰?如果是的话,你能否提供一些案例。我正在使用SQL Server 2005。
以下查询产生错误数据的可能性是什么。查询不使用任何连接,它只是基于某个creteria从单个表中获取数据。
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')
答案 0 :(得分:1)
读取已提交的隔离级别在行级别使用共享锁定以避免读取脏数据。但是,由于锁定位于行级别,因此在事务完成之前其他行可能会更改,从而导致不可重复的读取或幻像数据。
有关其他详细信息,请参阅SET TRANSACTION ISOLATION LEVEL上的Microsoft文档;有关示例,请参阅this blog post。