Oracle 9i 事务处理

2016-02-19 17:31 5 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的Oracle 9i 事务处理,希望大家看完后能赶快学习起来。

【 tulaoshi.com - 编程语言 】

  事务是Oracle 9i中进行数据库操作的基本单位,在PL/SQL程序中,可以使用3个事务处理控制命令。

  commit命令

  commit是事务提交命令。在Oracle 9i数据库中,为了保证数据的一致性,在内存中将为每个客户机建立工作区,客户机对数据库进行操作处理的事务都在工作区内完成,只有在输入commit命令后,工作区内的修改内容才写入到数据库上,称为物理写入,这样可以保证在任意的客户机没有物理提交修改以前,别的客户机读取的后台数据库中的数据是完整的、一致的,如图9.26所示。

  在中可以执行下列PL/SQL程序打开自动提交功能。这样每次执行PL/SQL程序都会自动进行事务提交。执行结果如图9.27所示。

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  set auto on;

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  :第9章setautocommiton.sql。

  相应的,取消自动提交功能的PL/SQL程序如下。

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  set auto off;

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  :第9章setautocommitoff.sql。

  rollback命令

  ollback是事务回滚命令,在尚未提交commit命令之前,如果发现delete、insert和update等操作需要恢复的话,可以使用rollback命令回滚到上次commit时的状态。

  下面以delete命令为例演示如何回滚。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  (1)首先关闭自动提交功能。

  (2)在中执行下列SQL程序,查看scott.emp数据表中的所有数据,执行结果如图9.28所示。

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  select * from scott.emp;

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  :第9章selectemp.sql。

  (3)在中执行下列SQL程序,删除scott.emp数据表中的所有数据。执行结果如图9.29所示。

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  delete from scott.emp;

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  :第9章deleteemp.sql。

  (4)在中执行下列SQL程序,查询删除数据表scott.emp后的结果。执行结果如图9.30所示。

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  select * from scott.emp;

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  :第9章selectemp.sql。

  (5)在中执行以下SQL程序,完成事务的回滚。执行结果如图9.31所示。

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  rollback;

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  :第9章rollbackemp.sql。

  (5)在中执行selectemp.sql文件,执行结果如图9.28所示,表明成功回滚了事务。

  savepoint命令

  savepoint是保存点命令。事务通常由数条命令组成,可以将每个事务划分成若干个部分进行保存,这样每次可以回滚每个保存点,而不必回滚整个事务。语法格式如下。

  创建保存点:savepoint 保存点名;

  回滚保存点:rollback to 保存点名;

  下面介绍如何使用保存点。

  (1)在中执行以下SQL程序,程序完成向scott.emp数据表中插入一条记录。执行结果如图9.32所示。

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  insert into scott.emp(empno,ename,sal) values(9000,'wang',2500);

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  :第9章insertemp.sql。

  (2)在中执行下列SQL代码,完成创建保存点的操作。执行结果如图9.33所示。

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  savepoint insertpoint;

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  :第9章 createsavepoint.sql。

  (3)在中可以执行其他的SQL语句。

  (4)在中执行下列SQL代码,程序完成回滚到指定的保存点insertpoint。执行结果如图9.34所示。

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  rollback to insertpoint;

  ―――――――――――――――――――――――――――――――――――――

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  :第9章 rollbacksavepoint.sql。

  (5)可以执行selectemp.sql文件,查询回滚前后的数据。

来源:http://www.tulaoshi.com/n/20160219/1615439.html

延伸阅读
Oracle 9i在集群技术、高可用性、商业智能、安全性、系统管理等方面都实现了新的突破,其特点主要包括如下内容。 1.4.1 集群技术 集群的原理如图1.2所示。 1.4.2 联机分析处理、数据挖掘和分析技术 1. 什么是联机分析处理 2. 什么是数据仓库 3. 什么是数据挖掘和分析 数据分析是从大量的数据中获取...
一、增强的可扩展性 Oracle9i Real Application Clusters是Oracle的下一代并行服务器系列产品。Oracle9i Real Application Clusters针对访问相同数据而设计了快捷高效的共享集群高速缓冲寄存器,从而提供了透明的应用程序可扩展性。Oracle9i Real Application Clusters是五年多研发工作的结晶,其中包含了9项独家专利和18项已申报的专...
摘要 本文介绍在Java中进行事务处理的方法,通过实例分别讲述了如何采用JavaBean、Ejb组件实现J2EE应用服务器支持的JDBC事务、JTA(Java Transaction API)事务。 要害词 JavaBean,EJB, 数据库,事务处理,JTA JavaBean JavaBean是用Java语言编写的与平台无关的组件。它是描述Java的软件组件模型,有点类似于Micros...
3.1.1 直接管理模式 直接管理模式的原理如图3.1所示,共有3层结构。 1. 管理客户机 在管理客户机上安装,通过调用其他的集成管理工具,利用SQL *NET协议建立与数据库服务器的连接。 2. 连接网络 常用TCP/IP协议构建连接网络。 3. 数据库服务器组 分布式的数据库服务器组,服务器运行SQL *NET协议响应...
Oracle 9i预定义的角色 表8.2 Oracle 9i预定义的角色 角色名称说明CONNECT数据库连接角色,用于连接数据库,具有创建簇、数据库链接、序列、同义词、表和视图,以及修改会话的权利DBA数据库管理员角色,具有所有使用ADMIN选项创建的系统权限,可以将系统权限授予其他用户或角色DELETE_CATALOG_ROLE删除目录角色,可以删除或重建数据字...

经验教程

178

收藏

52
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部