Transactional packaging is not required for clean readings.
In your SQL statement, Lock Hints should take care of returning the correct data to you ( http://msdn.microsoft.com/en-us/library/aa213026%28SQL.80%29.aspx ).
At the server level, you can set transaction isolation levels ( http://msdn.microsoft.com/en-us/library/ms173763.aspx ).
Edit
Explanation of Net Readings
If all of your SQL statements have this kind of read, you donβt need to transfer the transaction
SELECT Col1, Col2 From Table1 INNER JOIN Table2 ON Table1.Id = Table2.Table1Id
If you read results that may be affected by other transactions in parallel, you should wrap the transaction. For example,
BEGIN TRANSACTION INSERT INTO AccountTransactions (Type, Amount) Values ('Credit', 43.21) UPDATE AccountSummary SET Balance = Balance + 43.21 SELECT @Balance = Balance FROM AccountSummary COMMIT TRANSACTION
Indeed, you simply return the balance, but the entire money transaction should work in two places.
Raj more
source share