이 페이지는 기계 번역되었습니다. 영어 원본을 읽어보세요. English

IBSurgeon 라이브러리

Firebird 2.5: 자율 트랜잭션

기능:

자율(독립) 트랜잭션에서 코드 조각을 실행합니다. 예외를 발생시켜야 하지만 데이터베이스 변경 사항이 롤백되는 것을 원하지 않는 경우에 유용합니다.

자율 트랜잭션 블록 내부에서 예외가 발생하면 변경 사항이 롤백됩니다. 블록이 끝까지 실행되면 트랜잭션이 커밋됩니다.

새 트랜잭션은 기존 트랜잭션과 동일한 격리 수준으로 시작됩니다.

교착 상태를 방지하기 위해 주의해서 사용해야 합니다.

작성자:

Adriano dos Santos Fernandes

구문:

in autonomous transaction

do

예제:

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 ;!