Geçenlerde kendi içimizde bir soru sorduk. Çok mantıklı bir sonuca varamadık. Bilgisi olan arkadaşların yorumlarını merak ediyoruz.
Elimizde bir sql kodu var, procedure olabilir, function olabilir.
…….
savepoint XXX:
……..
…….
rollback to savepoint XXXX;
Burada rollback to savepoint işlemi programlama dillerindeki GOTO gibi mi çalışır? Yani bizim kodumuzun akışını oradan mı devam ettirir?
Ya da veri tabanındaki durumu o ana getirip kodun akışı normal mi devam eder?
İyi çalışmalar.
Savepoint’ten sonra yapılan tüm işlemleri rollback eder, başlayan transaction savepoint noktasına döner ve transaction sonlandırılır.
Tam olarak GOTO mantığında değil yani. GOTO gibi çalışsaydı zaten mantıken infine loop’a girerdi 🙂