şükela:  tümü | bugün
  • oracle'da pl/sql ile çoğu işlerini halledenlerin işine çok yarayan, alt yordamlarda*, dml işlem yönetimini sağlamakta kullanılan bir pragma.

    bunu yazdığınız yordamda commit veya rollback ederseniz, o yordamı çağırana kadar yapılmış bekleyen -yani henüz commit veya rollback yapılmamış- insert, update, delete gibi dml işlemleri commit veya rollback edilmez, sadece o yordam içindekiler edilir.

    kullanım örneği :

    create or replace procedure log_table(pmsg varchar2) is
    ...pragma autonomous_transaction;
    begin
    ...insert into tname(kolon1, [kolon2, kolon3, ... kolonn])
    ...values (değer1, [değer2, değer3, ... değern]);
    ...commit;
    end;

    diyelim bir tabloya bir trigger yazdınız ve tablonun kendi transaction'larına zarar gelmesini istemiyorsunuz. bu durumda trigger içerisine de bu pragma'yı yazabilirsiniz.

    diğer pragmalar için

    (bkz: exception_init)
    (bkz: restrict_references)
    (bkz: serially_reusable)
  • (bkz: özerk işlem)
  • pl/sql'deki efsane olaylardan biridir.