SET TRANSACTION - 设置当前事务的特性
SYNOPSIS
SET TRANSACTION
[ ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } ] [ READ WRITE | READ ONLY ]
SET SESSION CHARACTERISTICS AS TRANSACTION
[ ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } ] [ READ WRITE | READ ONLY ]
DESCRIPTION 描述
SET TRANSACTION 命令为当前事务设置特性。 它对后面的事务没有影响。 SET SESSION CHARACTERISTICS 为一个会话中的每个事务设置缺省的隔离级别。 SET TRANSACTION 可以为一个独立的事务覆盖上面的设置。
可用的事务特性是事务隔离级别和事务访问模式(读/写或者只读)。
事务的隔离级别决定一个事务在同时存在其它并行运行的事务时它能够看到什么数据。
- READ COMMITTED
- 一条语句只能看到在它开始之前的数据。这是缺省。
- SERIALIZABLE
- 当前的事务只能看到在这次事务第一条查询或者修改数据的语句执行之前的数据。
- Tip: 提示: 说白了,serializable(可串行化)意味着两个事务将把数据库保持在同一个状态,
就好象这两个事务是严格地按照先后顺序执行地那样。
事务隔离级别在事务中第一个数据修改语句 (SELECT, INSERT, DELETE,
UPDATE, FETCH, COPY) 执行之后就不能再次设置。 参阅 Chapter 12
``Concurrency Control'' 获取有关事务隔离级别和并发性控制的更多信息。
事务访问模式决定事务是读/写还是只读。读/写是缺省。如果一个 事务是只读,而且写入的表不是临时表,那么下面的 SQL 命令是不允许的:INSERT, UPDATE,DELETE,和 COPY TO; 而所有的 CREATE,ALTER,和 DROP 命令; COMMENT,GRANT,REVOKE, TRUNCATE;和 EXPLAIN ANALYZE 和EXECUTE 都不允许。这是一个高层次的只读概念,它并不阻止对磁盘的写入。
NOTES 注意
会话的缺省事务隔离级别也可以用命令
SET default_transaction_isolation = 'value'
以及在配置文件里设置。 参考 Section 16.4 ``Run-time Configuration'' 获取更多信息。
COMPATIBILITY 兼容性
两个命令都在 SQL 标准里定义了。SQL 里的缺省事务隔离级别是 SERIALIZABLE; 在 PostgreSQL 里,缺省隔离级别是 READ COMMITED,但是你可樊伟胜以用上面的描述修改它。 PostgreSQL 并没有提供隔离级别 READ UNCOMMITTED 和 REPEATABLE READ。 因为多版本并发控制,SERIALIZABLE 级别并非真正的可串行化。参阅 Chapter 12 ``Concurrency Control'' 获取细节。
在 SQL 标准里还有另外一种事务特性可以用这些命令设置:诊断范围的大小。这个概念只用于嵌入的 SQL。
SET TRANSACTION - 设置当前事务的特性的更多相关文章
- MySQL SET TRANSACTION 设置事务隔离级别
1. 首先说一下autocommit 默认情况下autocommit的开关是打开的,也就是ON,查看方法 方法1. select @@[global/session].autocommit; 方法2. ...
- 存储过程 务的概念 事务的特性 关于异常的处理 连接池 构JdbcUtil类
1 存储过程 1)用当地数据库语言,写的一段业务逻辑算法,并该算法存储在客户端 2)使用存储过程需要用于CallableStatement接口,同时需要使如下SQL命令调用:{call a ...
- 14.3.2.1 Transaction Isolation Levels 事务隔离级别
14.3.2 InnoDB Transaction Model InnoDB 事务模型 14.3.2.1 Transaction Isolation Levels 事务隔离级别 14.3.2.2 au ...
- 事务的特性(ACID)
一.事务 定义:所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位. 准备工作:为了说明事务的ACID原理,我们使用银行账户及资金管理的案例进行分析. // 创建 ...
- 对事务的特性ACID的理解
对事务的特性ACID的理解 数据库的事务必须具备ACID特性,ACID是指 Atomicity(原子性).Consistensy(一致性).Isolation(隔离型)和Durability(持久性) ...
- 【MySQL】:事务四大特性与隔离级别
目录 一.事务的概念 二.事务的四大特性 1.原子性 2.一致性 3.隔离性 4.持续性 三.事务语句 1.开启事务:start transaction 2.事务回滚:rollback 指定回滚点 3 ...
- 数据库 事务的特性ACID
数据库 事务的特性ACID 事务(Transaction)是并发控制的基本单位. 所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位.例如,银行转帐工作:从一个帐 ...
- spring事务传播特性实验(2):PROPAGATION_REQUIRED实验结果与分析
本文延续上一文章(spring事务传播特性实验(1):数据准备),在已经准备好环境的情况下,做如下的实验,以验证spring传播特性,加深对spring传播特性的理解. 本次主要验证PROPAGATI ...
- Python Django,事务,transaction.atomic,事务保存点
from django.shortcuts import renderfrom django.http import HttpResponsefrom django.views.generic imp ...
随机推荐
- MySQL01---简介及安装
目录 MySQL简介及安装 DBA工作内容 DBA的职业素养 MySQL简介及安装 01 什么是数据? 02 什么是数据库管理系统 03 数据库管理系统种类 关系型数据库(RDMS)与非关系型数据库( ...
- jenkins持续集成(三): jenkins配置邮件通知
完成基于jenkins的持续集成部署后,任务构建执行完成,测试结果需要通知到相关人员.这篇博客,介绍如何在jenkins中配置邮件通知的方法... 一.安装邮件插件 由于Jenkins自带的邮件功能比 ...
- java23种设计模式(三)-- 适配器模式
一.适配器模式 转载:https://www.cnblogs.com/V1haoge/p/6479118.html 适配器就是一种适配中间件,它存在于不匹配的二者之间,用于连接二者,将不匹配变得匹配, ...
- 异常 Cannot resolve class or package
spring boot yml配置异常Cannot resolve class or package 是因为mvaen设置 pom.xml的文件配置如上,scope 范围指定为runtime,runt ...
- SSH配置与修改
ssh文件路径:/etc/ssh/ ssh的日志文件:/var/log/secure 端口修改:./sshd_config 服务启停: service sshd start/stop/restart ...
- nyoj 762:第k个互质数
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=762 直接给代码好了,容斥原理具体看<组合数学> #include<bi ...
- Vue的使用总结(2)
1.Vue 中 class 和 style 的绑定 在 Vue 中,可以通过数据绑定来操作元素的 class 列表和内联样式,操作 class 和 style 是用 v-bind 来绑定的.在将 v- ...
- [USACO09DEC] Video Game Troubles
背包DP:有依赖的背包问题 #include <cstdio> #include <cstdlib> #include <cmath> #include <c ...
- C# foreach和for比较
foreach优点: 1.语句更简洁 2.不需要强制类型转换(比如输出的时候要进行一下乘运算) 3.多维数组遍历只需一行代码 4.不用对索引进行检查 缺点: 1.不能对数据进行修改 参考:https: ...
- python中chr()函数和ord()函数的用法
一,chr()函数 格式:Chr(<数值表达式>) 说明:函数返回值类型为String,其数值表达式值取值范围为0~255. 例如:Print Chr(78),结果显示:N. ...