对于同一个 ADO.Net 语句,我想确保我对隔离级别和锁的理解是正确的。
在默认 SQL Server 隔离级别(已提交读)下,读取每一行后,该行将解锁;
如果我将隔离级别提高到可重复读取,锁(在整个表上?还是其他级别的锁?)将一直保持到 while 循环结束?
例如:
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText= "select operation_id, operation_code, product_id, quantity
from dbo.operations where processed=0";
reader=cmd.ExecuteReader();
while (reader.Read())
{
// some operations
}
提前谢谢,乔治