2008-10-23

Transaction Blok İçerisindeki Lokal Değişkenlerin Durumu

Bana göre uzun sayılabilecek bir aradan sonra tekrardan sizlerleyiz efendim.

Bu sefer lokal değişkenlerin transaction yapısı içerisindeki durumunu hep birlikte inceleyeceğiz. Öncelikle hatırlayamanlar için transaction yapısını hatırlatalım:

BEGIN TRAN
--Ara işlemleriniz
COMMIT TRAN
--yada
ROLLBACK TRAN

Bu hatırlatmadan sonra asıl konumuz olan lokal değişkenlerin transaction yapısındaki durumuna dönelim. Bunun için birbirine çok benzer iki örnek üzerinde duralım:

Örnek-1:
DECLARE @OnlineZiyaretci INT
SET @OnlineZiyaretci = 10

PRINT @OnlineZiyaretci --OnlineZiyaretci değeri 10

BEGIN TRAN
SET @OnlineZiyaretci = @OnlineZiyaretci + 1
PRINT @OnlineZiyaretci --OnlineZiyaretci değeri 11
ROLLBACK TRAN

PRINT @OnlineZiyaretci -- Burdaki değeri tahmin edin?
GO

Örnek-2:
DECLARE @OnlineZiyaretci INT
SET @OnlineZiyaretci = 10

PRINT @OnlineZiyaretci --OnlineZiyaretci değeri 10

BEGIN TRAN
SET @OnlineZiyaretci = @OnlineZiyaretci + 1
PRINT @OnlineZiyaretci --OnlineZiyaretci değeri 11
COMMIT TRAN

PRINT @OnlineZiyaretci -- Burdaki değeri tahmin edin?
GO

Normal şartlarda bir kayıt yada kayıt kümesi için rollback olduğunda o kayıtlar eski haline döner; commit olduğunda ise transaction blok içerisinde aldığı son değerleri alır .
Eminim bir çoğunuz aynı mantıkla @OnlineZiyaretci değişkeninin örnek-1 için 10; örnek-2 için ise 11 alacağını tahmin etmişsinizdir. Kodu denerseniz tahminizde yanıldığınızı; her iki durumda da @OnlineZiyaretci değerinin 11 olduğunu göreceksiniz. Bunun nedeni lokal değişkenlerin Transaction yapısından etkilenmemeleri!

Bir sonraki yazıda görüşünceye dek bol SQL'li günler diliyorum.

2008-10-21

Yorum Farkı!

Yazının başlığına bakıp Mehmet Barlas ile Emre Kongar'ın sunduğu Yorum Farkı programına değineceğimi zanneden arkadaşları üzmek istemesemde bugün farklı bir Yorum Farkına değineceğim. Bugün daha önceleri almayı düşündüğüm fakat bir firma tarafından alınmış olan yorum.com domain name i satın almış olsaydım altında hangi sub domainleri barındıracağımı düşündüm. İşte kısa bir düşünmeden sonra aklıma gelen sub domainler:

1- ali.yorum.com (Alış, alıcı yorumları)
2- aci.yorum.com (Acıya, bibere dair yorumlar)
3- oku.yorum.com (Okuyucu, kitap yorumları)
4- ucu.yorum.com (Uçuş,uçak yorumları)
5- soru.yorum.com (Soru Merkezi)
6- baki.yorum.com (Bakıcı yorumları)
7- bulu.yorum.com (Arama Merkezi)
8- gulu.yorum.com (Gülmeye Dair)
9- suru.yorum.com (Sürüş, sürücü yorumları)
10-goru.yorum.com (Görmeye dair yorumlar)
11-gezi.yorum.com (Gezi yorumları)
12-kosu.yorum.com (Koşu yorumları)
13-gozlu.yorum.com (Göze dair, gözlüğe dair yorumlar)
14-oynu.yorum.com (Oyun yorumları)
15-sati.yorum.com (Satış, satıcı yorumları)
16-dusunu.yorum.com (Düşünceye dair yorumlar)
17-unutu.yorum.com (Unutkanlık üzerine yorumlar)
18-usutu.yorum.com (Soğuk algınlık ile ilgili yorumlar)
19-yuzu.yorum.com (Yüzmeye dair yorumlar)
20-bili.yorum.com (Bilgiye dair yorumlar)
21-calisi.yorum.com (Çalışma hayatına dair yorumlar)
22-odu.yorum.com (Ödemelere dair yorumlar)

Bakalım sizin aklınıza hangi varyasyonlar gelecek?

.::YASAL UYARI::.

©2004-2018 Mehmet GÜZEL, http://www.mehmetguzel.net/ & http://www.mehmetguzel.com/

Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.