Transaction veritabanı üzerinde bir bütün olarak çalıştırılan sorgu veya sorgular dizisidir. bu sorgular dizisi Kenan bey'in de dediği gibi tutarlılığı sağlamak içindir. Bu sorgu dizisinin içinde bir yerde hata alınırsa, öncesindeki çalışan tüm sorgular rollback olur. Böylelikle tutarlılık bozulmamış olur.
Oracle'da transaction begin... end bloğu içerisinde yazılır ve bu Oracle için tek bir transactiondur. ya tamamen çalışacaktır, ya da hata alırsa çalıştırdıklarını geri alacaktır.
Bunu bir örnekle açıklayacak olursak bir satış operasyonunu düşünelim. Bunun bir çok adımı olacaktır.
Begin
StokGuncelle();
FaturaKes();
SevkiyatEmriOlustur();
End;
Bu satış işleminin gerçekleşebilmesi için yukarıda begin end arasında belirtilen tüm işlemlerin eksiksiz olması gerekiyor. Begin End arasındaki tüm işlemler, veritabanı için tek bir transaction'dır aslında. 3 işlemden herhangi birinde bir hata oluşursa önceki işlemler geri alınacak. Yani veri tutarlılığı sağlanmış olacaktır.
Bu işlem sonrası session kapatılmadan başka transaction'lar da çalıştırılabilir.