自治事务

最近更新时间: 2024-06-12 15:06:00

自治事务是由另一个事务(主事务)启动的独立事务。 自治事务执行SQL操作并提交或回滚,而无需提交或回滚主事务。 支持匿名块或者存储过程中使用子事务。 示例:

create table t3(f1 int);  

do 
$$ 
begin            
     insert into t3 values(1);
     insert into t3 values(2);                                     
     commit;
     insert into t3 values(3); 
     rollback;
end;                                                                       
$$ ;
create or replace procedure demo11(a_varchar in varchar)  
as
$$  
begin
    insert into t3 values(1);
    insert into t3 values(2);                                     
    commit;
    insert into t3 values(3); 
    rollback;
end;
$$
LANGUAGE plpgsql ;  
call demo11(null);    
select * from t3;