BT Sözlüğü › Veritabanları › İç içe işlem (Nested transaction)

İç içe işlem (Nested transaction)

Veritabanları Svenska → Güncellendi: 2026-10-11

İşlemin içinde işlem. SQL'de standartlaştırılmıştır ama İVTYS'lerde (RDBMS) desteği seyrektir. PostgreSQL/MySQL bunu savepoint'lerle taklit eder. Begin içinde begin çoğunlukla işlevsizdir ya da hata verir.

PostgreSQL: BEGIN; ... BEGIN; ... "there is already a transaction in progress" uyarısı verir; iç BEGIN yok sayılır. SQL Server iç içe işlemleri destekler ama commit anlambilimi kafa karıştırıcıdır (iç commit hiçbir şey yapmaz, yalnızca dış commit geçerlidir). Gerçek iç içe işlem anlambiliminde iç abort yalnızca iç durumu geri alır. PostgreSQL'de PL/pgSQL'deki BEGIN-EXCEPTION blokları savepoint'ler aracılığıyla fiilen iç içe işlemlerdir. ORM çatıları bunu soyutlar: Django'nun atomic() bloğu iç içe kullanılabilir ve içeride savepoint'lere dayanır.

← Sözlüğe dön