İşlem oluşturma ve yönetme

Tamamlandı

Bir işlemi açıkça başlatmak için BEGIN TRANSACTION veya kısaltılmış sürüm olan BEGIN TRAN'ı kullanın.

İşlem başlatıldıktan sonra şu işlemlerden biriyle sonlandırılmalıdır:

  • İŞLEMİ ONAYLA veya
  • GERI ALMA IŞLEMI.

Bu, işlemdeki tüm deyimlerin birlikte işlenmesini veya hata olması durumunda yeniden bir araya getirilmesini sağlar.

İşlemler bir COMMIT TRANSACTION veya ROLLBACK TRANSACTION komutu verilene veya bağlantı bırakılana kadar sürer. Bağlantı bir işlem sırasında koparsa, tüm işlem geri alınır.

İşlemler iç içe olabilir; bu durumda, dış işlem geri alınırsa iç işlemler de geri alınır.

Hata algılanmadı

İşleminizdeki ifadeler hatasız tamamlandığında COMMIT TRANSACTION kullanın. Bazen, bu COMMIT TRAN olarak kısaltılır. Bu, değişiklikleri veritabanına işler. Bu işlem işlem sırasında tutulan kilitler gibi kaynakları da serbest bırakır.

Hata algılanırsa

İşlemde bir hata oluştuysa ROLLBACK komutunu kullanın.

ROLLBACK, işlem sırasında verilerde yapılan değişiklikleri geri alır ve işlem başlatılmadan önceki durumunda bırakır. ROLLBACK ayrıca işlem için tutulan kilitler gibi kaynakları da serbest bırakır.

XACT_ABORT

SET XACT_ABORT ON olduğunda, SQL Server bir hata oluşturursa tüm işlem geri alınır. SET XACT_ABORT KAPALI olduğunda, hatanın önem derecesi düşükse yalnızca hatayı tetikleyen deyim geri alınır.

Örneğin, SET XACT_ABORT OFF olduğunda bir işlemin üç deyimi vardır. İkisinde hata yoktur, ancak üçüncüsü denetim kısıtlamasını bozar. Bu örnekte, üç ifade bir işlemde yer alsa da, bunlardan ikisi onaylanır. Aynı örnekte, hatanın nedeni yanlış bir veri türü olsaydı, bu geri alma işlemi yapacak kadar ciddi olurdu ve deyimlerden hiçbiri işlenmezdi.

İşlemin işlenip işlenmeyeceği veya geri alınıp alınmayacağı her zaman net olmadığından, işlemlere hata işleme eklemek önemlidir.