Oracle Database 高级事务,游标


隔离级别

脏读

不可重复读

虚读

读未提交

Read uncommitted

可以

可以

可以

读已提交

Read committed

不可以

可以

可以

可重复读

Repeatable read

不可以

不可以

可以

可串行化

Serializable

不可以

不可以

不可以

脏读是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。

例如:你银行有1000块,你取出500,但没最终提交,你老婆这时通过ATM查帐,你放弃了取款,这时帐户应该还有1000,但是你老婆看到的是500,于是你老婆提交了,结果你损失了500

Ps: 用线程方式理解------读数据不加锁

不可重复读是指当事务两次读取同一行数据,但每次得到的数据都不一样时,就会发生这种事件。

例如:你用网络察看你银行帐户,你老婆这时用ATM察看,这时你取出了500,你老婆准备取1000块发现不够了…..

Ps: 用线程方式理解------读之前加锁,读完放锁

脏读和不可重复读的区别是,一个未提交读取,一个以提交读取

虚读是指一个事物查询两次,另一个事物在这两次之间插入了数据,导致两次查询的结果不同

Ps: 用线程方式理解------读之前加锁,读完不放锁,直到commit或rollback才放锁

串行化-----完全安全的数据访问模式

Ps: 用线程方式理解------读之前加条件锁,读完不放锁,直到commit或rollback才放锁

commit  提交上一个事物,开始下一个事物

savepoint var 保存点

rollback  回滚到事务开始处,或某保存处

事务

事务是包含一组数据库操作的逻辑工作单元。在事务中包含的数据库操作是不可分割的整体,要么一起被执行,要么回滚到执行事务之前的状态

TCL 事务控制语言 -  数据是否保存到数据库中

commit / rollback / savepoint

14Oracle Database 高级事务,游标的更多相关文章

  1. 13Microsoft SQL Server SQL 高级事务,锁,游标,分区

    Microsoft SQL Server SQL高级事务,锁,游标,分区 通过采用事务和锁机制,解决了数据库系统的并发性问题. 9.1数据库事务 (1)BEGIN TRANSACTION语句定义事务的 ...

  2. Mysql高级之游标

    原文:Mysql高级之游标 什么是游标?select 语句也许一次性会取出来n条语句,那么游标便可以一次取出来select中的一条记录.每取出来一条,便向下移动一次!可以实现很复杂逻辑! 上面还有有一 ...

  3. Oracle PL/SQL高级应用 游标

    游标可以处理SQL语句查询出来的结果集,进行逐条控制,其实游标在内存中申请空间,将自己指向SQL语句查询出来的结果集,有点像指针的感觉,游标使SQL更加的灵活. DECLARE CURSOR mycu ...

  4. Spring高级事务管理难点剖析

    1Spring事务传播行为 所谓事务传播行为就是多个事务方法相互调用时,事务如何在这些方法间传播.Spring支持7种事务传播行为 PROPAGATION_REQUIRED(加入已有事务) 如果当前没 ...

  5. [转]mysql 5.6 存储过程+事务+游标+错误异常抛出+日志写入

    转自:http://www.wolonge.com/post/detail/118249 DELIMITER $$ USE `ecstore`$$ DROP PROCEDURE IF EXISTS ` ...

  6. laravel database的事务函数

    laravel的事务使用如下: DB::connection('gvideo')->transaction(function () use ($user_id, $video_id, $acti ...

  7. redis的高级事务CAS(乐观锁)

    Optimistic locking using check-and-set(乐观锁) 乐观锁介绍:watch指令在redis事物中提供了CAS的行为.为了检测被watch的keys在是否有多个cli ...

  8. SqlServer高级特性--游标

    游标 用途:在数据很多的时候,如果在java代码中进行循环之后再进行更新数据,会造成频繁的连接数据库,耗费性能,所以就可以使用到游标 作用:查询出来的集合直接在SQL中进行遍历在进行更新 DECLAR ...

  9. 【DataBase】事务

    一.事务概述 二.事务的四大特性(ACID) 三.事务的隔离性导致的问题 四.数据库的四个隔离级别 五.数据库中的锁机制: 六.更新丢失 七.并发事务所带来的的问题 一.事务概述 事务的概念:事务是指 ...

随机推荐

  1. MyEclipse,Eclipse注释规范模板

    注释的作用:myeclipse中java文件头注释格式设置,最终可用于javadoc.exe生成API文档,同时提高了代码的可读性 设置方法: windows->preferences-> ...

  2. 公钥加密,摘要算法MD5,SSH相关概念

    1.公钥加密,又叫非对称加密,一般指的是用一组密钥来保证通信的安全.(公钥,私钥)成对存在且惟一,典型的公钥算法有 RSA(计算出的是1024位,128字节),顺便提一下与公钥加密算法相对应的就是传统 ...

  3. go1

    关键字: break default func interface select case defer go map struct chan else goto package switch cons ...

  4. 蓝书2.4 AC自动机

    T1 玄武密码 bzoj 4327 题目大意: 一些字符串 求这些字符串的前缀在母串上的最大匹配长度是多少 思路: 对于所有串建立AC自动机 拿母串在自动机上匹配 对所有点打标记 以及对他们的fail ...

  5. 使用Google的Closure Compiler,在本机上压缩javascript

    2011-12-05 13:47:39   1.JAVA JDK下载地址: http://download.oracle.com/otn-pub/java/jdk/7u1-b08/jdk-7u1-wi ...

  6. Android网络相关代码

    /** * 获取本机的Ip * * @return */ public String getLocalIpAddress() { try { for (Enumeration<NetworkIn ...

  7. Mybatis 分页实现

    一.插件 PageHelper(推荐使用) 原理:利用Mybatis的拦截器,截获需要分页的sql语句,在语句后面加分页条件,及获取总记录数等属性. 注意 插件属性类 参考一 参考二 实例: 第一步: ...

  8. C# 简单实现直线方程,抛物线方程(转载)

    http://www.cnblogs.com/hsiang/archive/2017/01/17/6294864.html 本例子是简单的在WinForm程序中实现在坐标系中绘制直线方程,抛物线方程, ...

  9. P1128 [HNOI2001]求正整数

    传送门 rqy是我们的红太阳没有它我们就会死 可以考虑dp,设\(dp[i][j]\)表示只包含前\(j\)个质数的数中,因子个数为\(i\)的数的最小值是多少,那么有转移方程 \[f[i][j]=m ...

  10. url中传参数为中文的转码与解码解决方法

    1.转码 中文为 “你好”  var ProjectName = encodeURI(encodeURI("你好"));,如下图所示 跳转页面  window.location.h ...