BEGIN(7) 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.

ÇEVİREN

Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Nisan 2005