Firebird 2.5: Otonom İşlemler
Fonksiyon:
Bir kodu bağımsız (otonom) bir işlem içinde çalıştırır. Bir istisna (exception) oluşturmanız gerektiğinde ancak veritabanı değişikliklerinin geri alınmasını istemediğiniz durumlarda kullanışlıdır.
Otonom işlem bloğunun gövdesi içinde istisnalar oluşturulursa, değişiklikler geri alınır. Blok sonuna kadar çalışırsa, işlem onaylanır (commit).
Yeni işlem, mevcut işlemle aynı izolasyon seviyesiyle başlatılır.
Kilitlenmeleri (deadlock) önlemek için dikkatli kullanılmalıdır.
Yazar:
Adriano dos Santos Fernandes
Sözdizimi:
in autonomous transaction
do
Örnek:
create table log (
“date” timestamp,
msg varchar(60)
);
create exception e_conn ‘Connection rejected’;
set term !;
create trigger t_conn on connect
as
begin
if (current_user = ‘BAD_USER’) then
begin
in autonomous transaction
do
begin
insert into log (“date”, msg) values (current_timestamp, ‘Connection rejected’);
end
exception e_conn;
end
end!
set term ;!