写写gaussdb中的事务

事务特性

  • 原子性 要么全部成功,要么全部失败;
  • 隔离性 不同的事务之前没有影响
  • 永久性 提交之后就是生效的
  • 一致性

隔离级别

Isolation(隔离性)可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离级别,决定多个事务并发操作同一个对象时的处理方式。

GaussDB(DWS)的事务隔离级别,由GUC参数transaction_isolation或SET TRANSACTION语法设置,支持以下隔离级别,默认为读已提交(read committed)。

read committed:读已提交隔离级别,只能读到已经提交的数据,而不会读到未提交的数据。
read uncommitted:读未提交隔离级别,GaussDB(DWS)不支持read uncommitted,如果设置了read uncommitted,实际上使用的是read committed。
repeatable read:可重复读隔离级别,仅仅能看到事务开始之前提交的数据,不能看到未提交的数据,以及在事务执行期间由其它并发事务提交的修改。
serializable:事务可序列化,GaussDB(DWS)不支持serializable,如果设置了serializable,实际上使用的是repeatable read。

案例

  • 案例一 savepoint
create table test(a int);
start transaction; # 开启事务
insert into test values(1);
savepoint my_test1;   #建立保存点
drop table test;
rollback to savepoint my_test1;  #回滚保存点
commit;
select * from test;

参考文章
https://support.huaweicloud.com/sqlreference-dws/dws_06_0117.html#section5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值