默认的设置是ISOLATION LEVEL 3

语法 SET TRANSACTION ISOLATION LEVEL 3;

最笨.官网的图不错看图吧

session 1

session 2

;autocommit off

AUTOCOMMIT IS OFF

SET TRANSACTION ISOLATION LEVEL 3;

Isolation level set to:

REPEATABLE READ SCHEMA, READ UNCOMMITTED INSTANCES.

;autocommit off

AUTOCOMMIT IS OFF

SET TRANSACTION ISOLATION LEVEL 3;

Isolation level set to:

REPEATABLE READ SCHEMA, READ UNCOMMITTED INSTANCES.

--creating a table

CREATE TABLE isol3_tbl(host_year integer, nation_code char(3));

CREATE UNIQUE INDEX on isol3_tbl(nation_code, host_year);

INSERT INTO isol3_tbl VALUES (2008, 'AUS');

COMMIT;

 

--selecting records from the table

SELECT * FROM isol3_tbl;

host_year  nation_code

===================================

2008  'AUS'

INSERT INTO isol3_tbl VALUES (2004, 'AUS');

INSERT INTO isol3_tbl VALUES (2000, 'NED');

/* able to insert new rows even if tran 2 uncommitted */

 

SELECT * FROM isol3_tbl;

host_year  nation_code

===================================

2008  'AUS'

2004  'AUS'

2000  'NED'

/* dirty read may occur so that tran_2 can select new rows uncommitted by tran_1 */

ROLLBACK;

 

SELECT * FROM isol3_tbl;

host_year  nation_code

===================================

2008  'AUS'

/* unrepeatable read may occur so that selected results are different */

INSERT INTO isol3_tbl VALUES (1994, 'FRA');

DELETE FROM isol3_tbl

WHERE nation_code = 'AUS' and

host_year=2008;

/* able to delete rows even if tran 2 uncommitted */

 

SELECT * FROM isol3_tbl;

host_year  nation_code

===================================

1994  'FRA'

ALTER TABLE isol3_tbl

ADD COLUMN gold INT;

/* unable to alter the table schema until tran 2 committed */

 

/* repeatable read is ensured while tran_1 is altering table schema */

SELECT * FROM isol3_tbl;

host_year  nation_code

===================================

1994  'FRA'

COMMIT;

SELECT * FROM isol3_tbl;

COMMIT;

host_year  nation_code  gold

===================================

1994  'FRA'           NULL

CUBRID学习笔记 20 默认的并发规则的更多相关文章

  1. golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题

    golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题 下面这个程序运行的能num结果是什么? package main import ( "fmt" " ...

  2. Ext.Net学习笔记20:Ext.Net FormPanel 复杂用法

    Ext.Net学习笔记20:Ext.Net FormPanel 复杂用法 在上一篇笔记中我们介绍了Ext.Net的简单用法,并创建了一个简单的登录表单.今天我们将看一下如何更好是使用FormPanel ...

  3. SQL反模式学习笔记20 明文密码

    目标:恢复或重置密码 反模式:使用明文存储密码 1.存储密码 使用明文存储密码或者在网络上传递密码是不安全的. 如果攻击者截取到你用来插入(或者修改)密码的sql语句,就可以获得密码.     黑客获 ...

  4. CUBRID学习笔记 48查询优化

    cubrid的中sql查询语法 查询优化 c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com ...

  5. CUBRID学习笔记 47 show

    cubrid的中sql查询语法show c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com . ...

  6. CUBRID学习笔记 43 insert into

    cubrid的中sql查询语法insert into ------ 官方文档是英文的,看不明白可以参看ocracle的同类函数说明.很多都是一样的. INSERT INTO a_tbl1(id) VA ...

  7. CUBRID学习笔记 41 sql语法之select

    cubrid的中sql查询语法 SELECT [ ] [{TO | INTO} ][FROM ] [WHERE ][GROUP BY {col_name | expr} [ASC | DESC], . ...

  8. CUBRID学习笔记 1 简介 cubrid教程

    CUBRID 是一个全面开源,且完全免费的关系数据库管理系统.CUBRID为高效执行Web应用进行了高度优化,特别是需要处理大数据量和高并发请求的复杂商务服务.通过提供独特的最优化特性,CUBRID可 ...

  9. CUBRID学习笔记 46 PREPARED set Do

    cubrid的中sql查询语法PREPARED set Do c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650 ...

随机推荐

  1. python核心编程学习记录之数字

    仅用于整数的操作

  2. tp框架支付宝手机网页支付

    开发环境:linux+php+mysql 密钥生成: 1.genrsa -out rsa_private_key.pem 1024 生成商户私钥,因在php环境,一定要保持原始状态,不得修改.rsa_ ...

  3. linux设备驱动归纳总结(三):3.设备驱动面向对象思想和lseek的实现【转】

    本文转自自:http://blog.chinaunix.net/uid-25014876-id-59418.html linux设备驱动归纳总结(三):3.设备驱动面向对象思想和lseek的实现 一. ...

  4. JVM 指令集

    指令码 助记符 说明 0x00 nop 什么都不做 0x01 aconst_null 将null推送至栈顶 0x02 iconst_m1 将int型-1推送至栈顶 0x03 iconst_0 将int ...

  5. Hibernate,JPA注解@Embeddable

    JPA嵌入式对象(又名组件) 在实体中可以定义一个嵌入式组件(embedded component), 甚至覆盖该实体中原有的列映射. 组件类必须在类一级定义@Embeddable注解. 在特定的实体 ...

  6. PHP中判断字符串是否含有中文

    <?php /** * [1.测试一] * 当$str = '中文测试'; 时输出"全部是汉字";当$str = '中a文3测试'; 时输出"不全是汉字" ...

  7. var_dump(is_writeable(ini_get("session.save_path")));

    var_dump(is_writeable(ini_get("session.save_path")));

  8. Java学习之路(三)

    1:面向对象

  9. linux后台开发排错常用工具

    一.前言 二.工具介绍 1.ps 查看进程信息 2.gstack 查看进程堆栈 3.pmap 查看程序分配的内存 4.ldd 查看程序用到的动态链接库 5.strace 用来跟踪和监视程序的每一个系统 ...

  10. NSIS学习记录の----win8.1和win10对于NSIS创建的卸载快捷方式无法在开始目录下显示

    NSIS提供了很好的软件卸载功能编写的方法,但是针对win8.1和win10操作系统,由于开始目录的权限限制,我们有时候并不能完美的完成所需要的功能----卸载程序的快捷方式不能显示.话不多说,下面提 ...