Snail—ORACLE基础之事务学习(五)

---------------事务---当运行到commit时 事务才算是完毕,不然 会运行rollback操作。

declare
v_money acount.money%type:=1223;
ex exception;
begin

  update acount set money=money-v_money where id=1;
  raise ex;
  update acount set money=money+v_money where id=2;
  commit;
  exception
    when others then
    DBMS_OUTPUT.PUT_LINE('掉电了');
    rollback;
end;

事务的任务便是使数据库从一种状态变换成为还有一种状态,这不同于文件系统。它是数据库所特用的。它的特性有四个:TOM总结为ACID即

原子性atomicity:语句级原子性。过程级原子性,事务级原子性

一致性consistency:状态一致。同一事务中不会有两种状态

隔离性isolation:事务间是互相分离的互不影响(这里可能也有自治事务)

持久性durability:事务提交了,那么状态就是永久的

时间: 2024-11-10 00:01:59

Snail—ORACLE基础之事务学习(五)的相关文章

蜗牛—ORACLE基础之事务学习(五)

---------------事务---当执行到commit时 事务才算是完成,不然 会执行rollback操作. declare v_money acount.money%type:=1223; ex exception; begin update acount set money=money-v_money where id=1; raise ex; update acount set money=money+v_money where id=2; commit; exception whe

Spring基础学习(五)—事务管理

一.事务基本认识 1.事务的概述      为了保证数据库中数据的一致性,数据的操作应当是离散的成组的逻辑单元.当它全部完成时,数据的一致性可以保持,而当这个单元中的一部分操作失败,整个事务应当全部视为错误,所有从起始点以后的操作应全部回退到开始状态.      事务的操作: 先定义开始一个事务,然后对数据做修改操作,这时如果提交(commit),这些数据就永久的保存下来,如果回退(rollback),数据库管理系统就放弃所有的修改而回到开始事务的状态.   2.事务的属性 (1)原子性(Atm

Oracle基础学习3--Oracle创建用户并授权

Oracle服务器端的操作一般如下: 1)       安装Oracle服务器软件 2)       创建数据库(安装时自动创建) 3)       配置监听(安装时自动配置) 4)       启动Oracle实例 5)       创建用户表空间 6)       创建新用户并授权 下面就开始讲创建用户表空间.创建新用户并授权两项: 首先要用系统管理员登陆Oracle(sqlplus/as sysdba) ?  创建用户表空间(D盘根目录创建名为ts_zhangsan的表空间) create

Oracle基础学习1--Oracle安装

安装过程较简单,按着步骤走即可.这里需要提醒如果要使用PL/SQL来操作Oracle,那么最好安装32位Oracle程序.原因是网上说PL/SQL只对32位Oracle进行支持,如果用64为Oracle+PL/SQL协同工作,会出现许多问题,例如无法加载oci.dll等.自己当然也亲自经历过,64位的Oracle单独使用很好,但相应的PL/SQL Developer却较难配置. 安装过程需要注意两个地方: ?  全局数据库名: ?  系统用户的密码(一般默认即可) 如何验证安装成功?按着自己的经

【git学习五】git基础之git分支

1.背景 最早用github的时候,我傻傻的问舍友大神,git里面的branch是干什么的,他用了很直白的解释,我至今还记得."branch就是你可以自己建立一个分支,随便乱搞而不影响整个项目".git分支应该是git最nb的特色吧,分支的建立和合并都十分方便. 大体的原理是这样的(图借用progit),比如说我们有一个master,还有一个分支是testing,git用head指针标记哪个分支正在被执行操作. 2.分支管理 首先来说下我们的现有的master,它是一个readme文件

Oracle基础学习5-- Oracle权限之”角色”

任何与权限相关的东西都少不了"角色"的概念,Java如此,.Net如此,Oracle当然也不例外. 角色其实就是权限的集合,将多个权限打包到一个角色中,这样每个角色有特定的权限.当需要给某个对象赋予某种权限时,就找到具有相应权限的角色,然后将它加到这个集合当中.下面就简单看看Oracle中角色的运用. 上篇文章讲到,为了给多用户授予各种权限,我们用到了"权限传递"来代替给用户们一个个授权,简化了授权过程.但这种方式较之用"角色"方式授权还是有很多

Oracle基础学习4--Oracle权限传递

下面将用一个实例来讲解: 首先用oracle系统用户(sysdba身份)连接到Oracle 然后创建两个用户"lisi"和"zhangsan" 然后为lisi授权,授创建表的权限 lisi连接到数据库,并创建一个表mytable 为zhangsan授予连接到数据库.创建表等权限,并连接到Oracle 我们要知道,lisi创建的表mytable的操作权限只有lisi(还有系统用户)自己拥有,其它用户(比如zhangsan)是不拥有权限的,下面我们以将lisi的表myt

Swift学习——Swift基础详解(五)

上回书说道:灰常灰常基本的数据类型 下面咱们来点高级的: Tuples    元组 元组存储一对键值,并且没有类型限制 let http404Error = (404, "Not Found") // http404Error is of type (Int, String), and equals (404, "Not Found") 书上废话一堆,反正元组就是这么写,上面的例子还是(Int,String)类型的元组,而且元组里面的类型随便你定义 也可以将元组的变

Oracle菜鸟学习之 Oracle基础命令

首发:http://www.arppinging.com/wordpress/?p=93 Oracle菜鸟学习之 Oracle基础命令 1.connect和show user 连接用户和查看当前用户 SQL> show user; USER is "SCOTT" SQL> conn /as sysdba Connected. SQL> show user USER is "SYS" SQL> 2.clear screen 清除屏幕输出 3.s