t-sql nedir etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
t-sql nedir etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
•Transaction, özet olarak daha küçük
parçalara ayrılamayan işlem demektir. Özellikle
bir grup işlemin arka arkaya
gerçekleşiyor olmasına rağmen, seri işlemler halinde ele alınması gerektiğinde kullanılır. Transaction bloğu
içerisindeki işlemlerin tamamı gerçekleşinceye kadar hepsi gerçekleşmemiş
varsayılır.
•Bir banka uygulamasını düşünün. Bir
kullanıcı başka bir kullanıcıya havale yaptığında ne olacağına bakalım.
Öncelikle havale yapanın hesap bilgilerinden havale yaptığı miktar düşülür.
Ardından alıcının hesabına bu miktar eklenir ve havale gerçekleşmiş olur. Ancak
her zaman şartlar istendiği gibi olmayabilir. Örneğin, gönderenin hesabından
para düşüldüğü anda elektrik kesilebilir ya da program takılabilir. Bu durumda,
ne olur?
•Örneğin, gönderenin hesabından para
düşülmüştür ama alıcının hesabına da geçmemiştir yani bir kısım paranın
sahibinin kimliği kaybedilmiş olur. Bu da sistemin olası durumlar dışında veri
kaybetmeye müsait bir hal alması demektir. Bu durumun bir şekilde önlenmesi
gerekir.
•Daha küçük parçalara ayrılamayan en
küçük işlem yığınına Transaction denir. Geçerli kabul edilmesi bir dize
işlemlerin tamamının yolunda gitmesine bağlı durumlarda transaction kullanılır. Transaction
bloğu ya hep ya hiç mantığı ile çalışır.
Ya tüm işlemler düzgün olarak gerçekleşir ve geçerli kabul edilir veya bir
kısım işlemler yolunda gitse bile, blok sona ermeden bir işlem bile yolunda
gitmese hiçbir işlem olmamış kabul edilir.
SQL
Server 3 farklı Transaction
desteği
sağlar:
•1.
Harici(Explicit)
Transaction: SQL
Server’ in kullanıcı
tarafından bir BEGIN TRAN ifadesi ile transaction’a başlatılması şeklindeki bloktur.
Bir aksilik olması halinde SQL Server tarafından veya kullanıcı tarafından
COMMIT ifadesi ile gerçekleşmiş olarak veya ROLLBACK ifadesi ile hiç olmamış
olarak sonlandırılabilir.
•2.Dahili(Implict)
Transaction: SQL Server’in belli ifadelerden sonra otomatik
olarak Transaction açmasını sağlar. Bu mod da, bu belli ifadeler kullanıldıktan
sonra, kullanıcı tarafından transaction’ın sonlandırılması gerekir. Bu nedenle
zahmetli bir mod’ dur.
•3.Auto
Commit: Hiç bir transaction mod’
u tayin edilmedi ise, SQL Server bu mod da çalışır. Auto Commit modunda iken, her bir batch(yığın,
Query Analyzer için iki go arasındaki ifade veya bir defada
çalıştırılan bütün SQL ifadeleri) bir transaction bloğu olarak ele alınır. Batch
içerisinde bir sorun olursa, SQL Server otomatik olarak bütün batch’i geri alır(ROLLBACK eder).
T-SQL nedir? Transact SQL Çeşitleri
Kaydol:
Kayıtlar
(
Atom
)