Veritabanı ile uğraşıyorsanız ve küme bazlı işlemlerle satır bazlı işlemler üzerine (ya da set based operations vs cursors) kafanız karışmışsa, olayı gözünüzde tam canlandıramıyorsanız, elinizin altındaki bir veritabanında şu sorguyu çalıştırın, hatta çalıştırmadan önce düşünün ne olacağını, tahminde bulunun, sonra çalıştırıp görün:
Create table islemlerKumeli (TId int identity(1,1), Turkce char(5), English char(5))
insert into islemlerKumeli (Turkce, English) values (‘bir’, ‘one’)
insert into islemlerKumeli (Turkce, English) values (‘iki’, ‘two’)
insert into islemlerKumeli (Turkce, English) values (‘üç’, ‘three’)
select * from islemlerKumeli
update islemlerKumeli set Turkce = English, English = Turkce
select * from islemlerKumeli
Nasıl? İlginç, değil mi?
Mustafa Bey, sonuç gerçekten ilginç. Acaba bunun isolation level ile ilgisi var mı? Gerçi isolation leveli READ UNCOMMITTED yaptığımda da sonuç değişmedi ama?Teşekkürler…
Isolation level, farklı transactionların birbirlerine ne kadar saygı gösterdiğini belirler. Bu tek bir transaction (ya da connection diye de düşünebilirsin) içinde oluyor.