在PostgreSQL中,如果执行一个dml或ddl语句,默认一执行完就马上提交了,不能回滚,这样容易导致误操作的发生,避免这个风险的办法是关闭自动提交

1 设置\set AUTOCOMMIT off (ddl语句这里设置了之后一样会回滚,记住这里AUTOCOMMIT是大写)

2 闪回点策略,如下:

begin; -----这里的作用等同于\set AUTOCOMMIT off

insert into tb01 values(1);

savepoint sp1;

insert into tb01 values(2);

savepoint sp2;

insert into tb01 values(3);

如果直接执行 1)rollback(体现了事务的原子性,要么全回滚,要么全提交,即begin;开始的地方),那么所有数据都回滚 2)如果rollback to savepoint to sp1,那么此时则回滚点SP2则自动消失。 3)如果先回滚到SP2,那么可以继续回滚到SP1

回滚点可以运用于大事务切割,避免出错,所有操作都回滚

java pg数据库事务回滚_PG 事务提交与回滚相关推荐

  1. java pg数据库事务回滚,基于Postgresql 事务的提交与回滚解析

    用过oracle或mysql的人都知道在sqlplus或mysql中,做一个dml语句,如果发现做错了,还可以rollback;掉,但在PostgreSQL的psql中,如果执行一个dml,没有先运行 ...

  2. pg数据库 设置不区分大小写_pg数据库表名、字段名大小写问题

    问题描述: 使用pgAdmin新建了一个表user,添加了id.name.enScore三个字段.在user表中添加了几条记录后,使用select * from user:查询没有问题,会显示user ...

  3. java pg数据库事务回滚_PostgreSQL事务特性之ROLLBACK

    一.回滚DDL 1. 回滚表的创建 postgres=# begin; BEGIN postgres=# create table test (id int, name text); CREATE T ...

  4. sql事务提交回滚命令_提交,回滚和保存点SQL命令

    sql事务提交回滚命令 Transaction Control Language(TCL) commands are used to manage transactions in the databa ...

  5. oracle 事务提交回滚吗,c# – 提交和回滚Oracle事务

    我在oracle中用C#调用这个proc.我让proc返回错误.换句话说,proc失败并且pv_error用字符串填充并且回滚被触发,但是不起作用.我不知道为什么.那么,我做错了什么?提前致谢. pr ...

  6. MySQL事务篇:ACID原则、事务隔离级别及事务机制原理剖析

    引言 众所周知,MySQL数据库的核心功能就是存储数据,通常是整个业务系统中最重要的一层,可谓是整个系统的"大本营",因此只要MySQL存在些许隐患问题,对于整个系统而言都是致命的 ...

  7. 《深入理解分布式事务》第一章 事务的基本概念

    <深入理解分布式事务>第一章 事务的基本概念 文章目录 <深入理解分布式事务>第一章 事务的基本概念 一.事务的特性 1.原子性 2.一致性 3.隔离性 4.持久性 二.事务的 ...

  8. 声明式事务和编程式事务的区别

    区别 声明式事务:通过AOP(面向切面)方式在方法前使用编程式事务的方法开启事务,在方法后提交或回滚.用配置文件的方法或注解方法(如:@Transactional)控制事务. 编程式事务:手动开启.提 ...

  9. java 对线程进行事务控制_Java 多线程事务回滚 ——多线程插入数据库时事务控制...

    背景 日常项目中,经常会出现一个场景,同时批量插入数据库数据,由于逻辑复杂或者其它原因,我们无法使用sql进行批量插入.串行效率低,耗时长,为了提高效率,这个时候我们首先想到多线程并发插入,但是如何控 ...

最新文章

  1. 华为聚焦AI基础平台,加速行业智能化落地
  2. 洪嘉振 计算多体系统动力学pdf_多体动力学演化python入门——quantum many-body scars 和稀疏矩阵后续...
  3. boost::rational用法的测试程序
  4. linux脚本文件个数,Linux上面执行mysql脚本判断文件个数
  5. Cloud for Customer Restriction and Exclusion Product Lists
  6. android js 弹窗,Android WebView 不能弹出alert的对话框
  7. Java学习笔记_类和对象
  8. $Django Paginator分页器 批量创建数据
  9. 【Android进阶】Junit单元測试环境搭建以及简单有用
  10. 将流数据输出到Mysql中
  11. TypeError: ‘dict‘ object is not callable-已解决
  12. JS基础_自增和自减
  13. 神奇的机器人评课_神奇的机器人教学案
  14. 如何使用Mac预览程序将png转换为jpg格式的技巧分享
  15. php 苹果apple登陆
  16. 模糊控制 进化算法 PID参数整定
  17. Matplotlib——线图_axis()函数
  18. 社会生活中的十二条著名法则
  19. Java 设置Word页边距、页面大小、页面方向、页面边框
  20. 【理论】编译原理导论

热门文章

  1. android 蓝牙 多线程,Android蓝牙示例
  2. 【java】ConcurrentHashMap遍历 --- 弱一致性的迭代器(Iterator)实现原理
  3. 【clickhouse】yandex 官方 BalancedClickhouseDataSource 源码分析
  4. 【kafka】kafka topic某些分区 副本落后leader太多
  5. 【Elasticsearch】使用Elasticsearch 7.8 快速搭建食谱搜索系统
  6. 40-10-010-运维-kafka-2.11-基本操作
  7. 【Kafka】kafka消费者参数
  8. Java 使用阿里巴巴 Dns Cache Manipulator
  9. mac vim 无颜色 增加颜色
  10. linux过滤文件的关键字,linux tail 过滤日志文件中的关键字