学习openGauss事务控制:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位.
START TRANSACTION:通过START TRANSACTION启动事务。如果声明了隔离级别、读写模式,那么新事务就使用这些特性,类似执行了SET TRANSACTION。
ISOLATION LEVEL:指定事务隔离级别,它决定当一个事务中存在其他并发运行事务时它能够看到什么数据。
在事务中第一个数据修改语句(SELECT, INSERT,DELETE,UPDATE,FETCH,COPY)执行之后,事务隔离级别就不能再次设置。
READ COMMITTED:读已提交隔离级别,只能读到已经提交的数据,而不会读到未提交的数据。这是缺省值。
REPEATABLE READ:可重复读隔离级别,仅仅看到事务开始之前提交的数据,它不能看到未提交的数据,以及在事务执行期间由其它并发事务提交的修改。
SERIALIZABLE:openGauss目前功能上不支持此隔离级别,等价于REPEATABLE READ。
READ WRITE | READ ONLY 指定事务访问模式(读/写或者只读)
课程作业打卡:
1.以默认方式启动事务1,修改事务隔离级别,查看transaction_isolation
show transaction_isolation;
BEGIN;
SET LOCAL TRANSACTION ISOLATION LEVEL repeatable read READ WRITE;
show transaction_isolation;
2.以读写方式启动事务2,创建新表,修改事务为只读事务,查看transaction_read_only,并向表中插入记录
3.启动事务3,对表进行增删改查,并用到创建savepoint,回滚savepoint和删除savepoint
回滚保存点:
删除保存点:
4.清理数据




