开发指南—TCL语句

简介: 该语句用于开启事务。数据库事务(Database Transaction)是指作为单个逻辑工作单元执行的一系列操作。事务处理可以用来维护数据库的完整性,保证成批的SQL操作全部执行或全部不执行。

默认情况下,PolarDB-X以开启autocommit的模式运行,也就是每条SQL语句单独构成一个事务(出于性能考虑,跨分片的DML语句默认未开启分布式事务,仅对更新GSI、更新广播表、更新拆分键的DML语句默认开启分布式事务)。用户可以通过执行SET AUTOCOMMIT=0或者显式事务的方式手动开启多条语句组成的交互式事务。

显示事务是用户自定义或用户指定的事务。通过START TRANSACTION,或BEGIN(被作为START TRANSACTION的别名受到支持)语句显示开始,以COMMIT或ROLLBACK语句显示结束。

语法:


START TRANSACTION
  [transaction_characteristic [, transaction_characteristic] ...]
transaction_characteristic: {
    WITH CONSISTENT SNAPSHOT
  | ISOLATION LEVEL {REPEATABLE READ | READ COMMITTED}
  | READ WRITE
  | READ ONLY
}
BEGIN
COMMIT
ROLLBACK
SET autocommit = {0 | 1}
参数 说明
START TRANSACTION [READ ONLY | READ WRITE] 启动新的事务,随后执行的DML语句(即INSERT、UPDATE、DELETE等)直到事务提交时才会生效。READ ONLY子句标记事务以只读方式开启,事务内不允许执行修改操作。READ WRITE子句标记事务以读写方式开启,默认为这种模式。
START TRANSACTION WITH CONSISTENT SNAPSHOT 启动新的事务,如果没有显式指定隔离级别,则为事务设置隔离级别REPEATABLE READ。
START TRANSACTION ISOLATION LEVEL {REPEATABLE READ | READ COMMITTED} 启动新的事务,并为事务设置指定的隔离级别。
BEGIN BEGIN被作为START TRANSACTION的别名受到支持。
COMMIT 提交当前事务。
ROLLBACK 回滚当前事务。
SET autocommit = {0 | 1} 为当前会话(session)关闭/开启autocommit模式。
相关文章
|
存储 SQL Java
好多人都说存储过程很难?认真看这篇文章就够了
好多人都说存储过程很难?认真看这篇文章就够了
|
设计模式 敏捷开发 Java
全网首发!Java界的四大名著之一:Java编程思想最新中文版已开源
老版《Java编程思想》(原书名《Thinking in Java》)得益作者开放深度研讨的创作方式,受到了全世界读者的追捧,被译为了十几种语言。但遗憾的是,在经历了 4 个版本的更新后,其最后一版发布于 2007 年,之后再无更新。
|
1月前
|
SQL Java 数据库连接
MyBatis 与 Spring Data JPA 核心对比:选型指南与最佳实践
本文深入对比Java持久层两大框架MyBatis与Spring Data JPA,从核心理念、SQL控制力、开发效率、性能优化到适用场景,全面解析两者差异。MyBatis灵活可控,适合复杂SQL与高性能需求;JPA面向对象,提升开发效率,适用于标准CRUD系统。提供选型建议与混合使用策略,助力技术决策。
436 158
|
4月前
|
缓存 并行计算 安全
关于Java多线程详解
本文深入讲解Java多线程编程,涵盖基础概念、线程创建与管理、同步机制、并发工具类、线程池、线程安全集合、实战案例及常见问题解决方案,助你掌握高性能并发编程技巧,应对多线程开发中的挑战。
|
11月前
|
安全 架构师 Java
Java大厂面试高频:Collection 和 Collections 到底咋回答?
Java中的`Collection`和`Collections`是两个容易混淆的概念。`Collection`是集合框架的根接口,定义了集合的基本操作方法,如添加、删除等;而`Collections`是一个工具类,提供了操作集合的静态方法,如排序、查找、同步化等。简单来说,`Collection`关注数据结构,`Collections`则提供功能增强。通过小王的面试经历,我们可以更好地理解这两者的区别及其在实际开发中的应用。希望这篇文章能帮助你掌握这个经典面试题。
319 4
|
程序员 区块链
程序员职业发展路线图(完整版+珍藏版)
程序员职业发展路线图(完整版+珍藏版)
|
存储 缓存 NoSQL
一篇搞懂!Java对象序列化与反序列化的底层逻辑
本文介绍了Java中的序列化与反序列化,包括基本概念、应用场景、实现方式及注意事项。序列化是将对象转换为字节流,便于存储和传输;反序列化则是将字节流还原为对象。文中详细讲解了实现序列化的步骤,以及常见的反序列化失败原因和最佳实践。通过实例和代码示例,帮助读者更好地理解和应用这一重要技术。
610 0
|
数据采集 算法 关系型数据库
在 MySQL 中使用 REVERSE
【8月更文挑战第6天】
532 0
|
Java 数据库连接 数据库
探索JPA生态:Hibernate与其他ORM框架的对比分析
【6月更文挑战第25天】**JPA标准下的Hibernate是流行的ORM实现,提供丰富功能如二级缓存和延迟加载,但其学习曲线较陡,性能优化复杂。相比如MyBatis,Hibernate的JPQL更面向对象,MyBatis则接近SQL。选择ORM需考虑项目需求和个人偏好。**
249 0