
Aşağıda gösterilen karşılaştırma tablosu yardımıyla SQL'deki Commit ve ROLLBACK ifadeleri arasındaki farkı tartışalım.
Karşılaştırma Tablosu
Karşılaştırma için temel | COMMIT | ROLLBACK |
---|---|---|
Temel | COMMIT, mevcut işlem tarafından yapılan değişiklikleri doğrular. | ROLLBACK geçerli işlem tarafından yapılan değişiklikleri siler. |
Efekt | COMMIT deyiminin yürütülmesinden sonra, işlem ROLLBACK olamaz. | ROLLBACK çalıştırıldıktan sonra veritabanı önceki durumuna ulaşır, yani işlemin ilk ifadesinin yürütülmesinden önce. |
olay | COMMIT, işlem başarıyla yürütüldüğünde gerçekleşir. | ROLLBACK, işlem yürütmenin ortasında iptal edildiğinde gerçekleşir. |
Sözdizimi | COMMIT; | ROLLBACK; |
COMMIT'un tanımı
COMMIT, bir işlemin başarıyla tamamlandığını bildiren bir SQL ifadesidir. Bir işlemin herhangi bir kesinti olmadan yürütülmesini tamamladığında, işlem tarafından veritabanında yapılan değişiklikler kalıcı hale gelir. Bu, veritabanının işlemin ilk ifadesinin uygulanmasından önce olduğu önceki durumlarını yeniden kazanamayacağı anlamına gelir.
COMMIT deyiminin sözdizimi şöyledir:
COMMIT;
İşlemin son ifadesi sona erdiğinde işlem kısmen taahhüt edilir . Daha sonra, kurtarma protokolleri, bir sistem arızasının bile veritabanının değişikliklerin kalıcı olmasını sağlayamamasını sağlar. Bu kontrol edilir edilmez, işlemin kesinleşme noktasına ulaşılmış ve en sonunda işlem kesinleşmiş bir duruma girmiştir. İşlem bir taahhüt altına girdiğinde, geri alınamaz ve yeni bir işlem başlar.
ROLLBACK'un tanımı
COMMIT gibi, ROLLBACK de bir SQL ifadesidir ve işlemin başarıyla tamamlanmadığını gösterir. Bu nedenle, işlem tarafından yapılan değişiklikleri geri almak için işlem iptal edildi . ROLLBACK'in yürütülmesinden sonra, mevcut işlem tarafından yapılan hiçbir değişiklik yoktur.
ROLLBACK'in sözdizimi şöyledir:
RULO;
Bir işlemin yürütülmesi sırasında bir hata meydana gelirse, işlem ROLLBACK işlemi gerekli olur. Hata, sistem arızası, elektrik kesintisi, işlem bildirimlerindeki hata, sistem çökmesi olabilir. Elektrik kesintisi veya sistem çökmesi durumunda, sistem tekrar başlatıldığında, ROLLBACK oluşur. ROLLBACK, yalnızca COMMIT henüz yürütülmediyse oluşabilir.
SQL'de COMMIT ve ROLLBACK Arasındaki Temel Farklar
- SQL'in COMMIT ve ROLLBACK deyimleri arasındaki temel fark, COMMIT deyiminin yürütülmesinin mevcut işlem tarafından yapılan tüm değişiklikleri kalıcı hale getirmesidir. Diğer taraftan, ROLLBACK'in yürütülmesi, geçerli işlem tarafından yapılan tüm değişiklikleri siler.
- COMMIT deyimi bir kez işlem yaptıktan sonra işlem tarafından yapılan değişiklik ROLLBACK olamaz. Ancak, bir ROLLBACK deyimi yürütüldüğünde veritabanı önceki durumuna ulaşır.
- COMMIT, işlem beyanlarının başarılı bir şekilde yürütülmesinde idam edilir. Ancak, ROLLBACK, işlem başarıyla gerçekleştirilemediğinde yürütülür.
Sonuç:
İşlem tarafından yapılan değişikliklerin veritabanına kalıcı olarak kaydedilmesini sağlamak için, işlemin başarıyla tamamlanmasından sonra COMMIT'i kullanın. İşlem yürütülürken herhangi bir hatayla karşılaşırsa, işlem tarafından yapılan değişiklikleri geri almak için ROLLBACK kullanılır.