tsql çeşitleri etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
tsql çeşitleri etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
T-SQL DEĞİŞKENLER VE ÖRNEKLER
T-SQL kullanmanın en büyük sebeplerinden biri değişken kullanımına olanak tanımasıdır. Burada kastımız olan değişken diğer tüm programlama dillerinde yer alan bir veri tipi ile sınırlandırılmış, yaratılmasının ardından hafızada belli bir yer kaplayan, üzerine veri ataması yapılabilen ve daha sonra ismi kullanılarak program içerisinden çağrılıp kullanılabilecek yapıdır. Yazım şekli :
declare @degisken_adi <veri_tipi> [(boyut)]

Örnek :
declare @fld_arac_no VarChar(30)
declare @fld_id int

Değişkene bir gerçek karşılık atanması durumunda değişkene değer atama denir.
SET komutu kullanılır. Değişkene atanan değer programın ilerleyen aşamalarında farklı bir değer ile değiştirilebilir. Yeni değerin atanmasının ardından eski değer yok olur.
Örnek :
declare @fld_arac_no VarChar(30)
Set @
fld_arac_no = 40
Set @
fld_arac_no = 50 //Araç No artık "50" değerinde
Örnek : 
                BEGIN TRANSACTION
                UPDATE KITAPLAR SET s_sayisi=0
                UPDATE KITAPLAR SET kitap_adi=‘Deneme’
                 SELECT * FROM KITAPLAR

                ROLLBACK


T-SQL Örnekleri Ve T-SQL Degisken Türleri

Transaction Log: Transaction ile bir veri tabanında meydana gelen tüm değişikliklerin sıralı olarak kaydedildiği dosyadır.

T-SQL Transaction Log Nedir? Neden Kullanılır ?

Rollback: Transaction işlemindeki SQL ifadelerinden herhangi birisinin yapmış olduğu değişiklikleri geri almaktır. Herhangi bir sorun karşısında rollback işlemi ile veriler ilk haline geri gelir.

T-SQL Rollback Nedir ?

Commit: Oluşturulan Transaction işlemi başarılı bir şekilde gerçekleştirildiğinde yapılan değişiklikler veri tabanına kalıcı olarak aktarılmasıdır.

T-SQL Commit Nedir ?

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