by Nurgün Özgür
12. November 2010 15:53
Bugünkü yazımda MSSQL da olmayan sadece Oracle'da olan bağımsız TRANSACTION'dan bahsedeğim.
PRAGMA AUTONOMOUS_TRANSACTION . Bu komut bağımsız transaction başlatmamıza ve COMMIT etmemize imkan tanır.
Hata loglamalarda ve statü güncellemelerde çok faydalı bir özelliktir. Dış transaction ROLLBACK olmuş olsa bile
PRAGMA AUTONOMOUS_TRANSACTION ile başlatılan TRANSACTION ROLLBACK olmaz. Bu işlem için altta verdiğim prosedüre benzer prosedürler kullanabilirsiniz.
PROCEDURE err_log (
i_message IN varchar2(500)
)
IS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT ERR_LOG (msg, created) VALUES(i_message, sysdate);
Veya
UPDATE FLOW SET STATUS =’STARTED’ WHERE ID =1323123
COMMIT;
END err_log;
MSSQL da benzer bir özellik kullanabilmek için "Loopback Linked Servers" kullanabilirsiniz.
Daha fazla bilgi : http://msdn.microsoft.com/en-us/library/ms188716.aspx