İSİM
BEGIN − bir hareket kümesi başlatır
KULLANIM
BEGIN [ WORK | TRANSACTION ] [ kip [, ...] ]
burada kip şunlardan biri olabilir:
ISOLATION
LEVEL
{ SERIALIZABLE | REPEATABLE READ
| READ COMMITTED | READ UNCOMMITTED }
READ WRITE | READ ONLY
AÇIKLAMA
BEGIN bir hareket kümesi başlatır; yani, BEGIN'den sonraki tüm cümleler bir COMMIT [commit(7)] veya ROLLBACK [rollback(7)]'e rastlanıncaya kadar tek bir hareket olarak çalıştırılır. Öntanımlı olarak (BEGIN olmaksızın), PostgreSQL hareketleri "autocommit" kipinde çalıştırır; yani, her cümle kendi hareketi olarak çalıştırılır ve eğer işlem başarılı olmuşsa cümlenin sonunda bir COMMIT [commit(7)], aksi takdirde hareketi geri almak için bir ROLLBACK [rollback(7)] çalıştırılır.
Cümleler, bir hareket kümesinden daha hızlı çalıştırılır, çünkü hareketin başlatılması ve bitirilmesi önemli bir işlemci ve disk etkinliği gerektirir. Çok sayıda cümlenin tek bir hareket olarak çalıştırılması, birbiriyle ilintili çok sayıda değişiklik yaparken tutarlılığı sağlamak için yararlıdır: birbiriyle ilintili değişikliklerin hepsi yapılmadan diğer oturumlar ara durumları göremeyeceklerdir.
Eğer bir yalıtım seviyesi (ISOLATION LEVEL) veya oku/yaz (READ WRITE | READ ONLY) kipi belirtilmişse, yeni hareket SET TRANSACTION [set_transaction(7)] çalıştırılmış gibi bu niteliklere sahip olur.
PARAMETRELER
WORK, TRANSACTION
İsteğe bağlıdırlar ve bir etkileri yoktur.
BEGIN cümlesindeki diğer parametrelerin anlamları için SET TRANSACTION [set_transaction(7)] kılavuz sayfasına bakınız.
EK BİLGİ
START TRANSACTION [start_transaction(7)], BEGIN ile aynı işlevselliğe sahiptir.
Bir hareket kümesini sonlandırmak için COMMIT [commit(7)] ya da ROLLBACK [rollback(7)] kullanın.
Bir hareket bloğunun içinde bulunacak bir BEGIN bir uyarı iletisine sebep olacak, ama hareketin durumunda bir değişikliğe yol açmayacaktır. Bir hareket kümesinin içine başka bir hareket gömmek için kayıt noktalarını kullanın (bkz. SAVEPOINT [savepoint(7)]).
Geriye doğru uyumluluk sebebiyle, kip'ler arasına virgül konmayabilir.
ÖNEKLER
Bir hareket kümesini başlatmak için:
BEGIN;
UYUMLULUK
BEGIN bir PostgreSQL oluşumudur. START TRANSACTION [start_transaction(7)] kılavuz sayfasında daha fazla uyumluluk bilgisi bulabilirsiniz.
Yeri gelmişken, BEGIN anahtar sözcüğü gömülü SQL'de başka bir amaçla kullanılmaktadır. Veritabanı uygulamalarınızı farklı platformlara uyarlarken hareket sözdizimi hakkında dikkatli olmanızı öneririz.
İLGİLİ BELGELER
COMMIT [commit(7)], ROLLBACK [rollback(7)], SET TRANSACTION [set_transaction(7)], START TRANSACTION [start_transaction(7)], SAVEPOINT [savepoint(7)].
ÇEVİREN
Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Nisan 2005