Oracle 9i 事务处理

cai289335719

cai289335719

2016-02-19 17:31

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

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

  commit命令

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

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

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

  set auto on;

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

  :第9章setautocommiton.sql。

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

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

  set auto off;

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

  :第9章setautocommitoff.sql。

  rollback命令

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

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

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

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

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

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

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

  select * from scott.emp;

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

  :第9章selectemp.sql。

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

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

  delete from scott.emp;

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

  :第9章deleteemp.sql。

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

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

  select * from scott.emp;

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

  :第9章selectemp.sql。

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

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

  rollback;

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

  :第9章rollbackemp.sql。

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

  savepoint命令

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

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

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

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

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

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

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

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

  :第9章insertemp.sql。

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

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

  savepoint insertpoint;

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

  :第9章 createsavepoint.sql。

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

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

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

  rollback to insertpoint;

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

  :第9章 rollbacksavepoint.sql。

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

展开更多 50%)
分享

猜你喜欢

Oracle 9i 事务处理

编程语言 网络编程
Oracle 9i 事务处理

asp事务处理

ASP
asp事务处理

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

深入Android SQLite 事务处理详解

编程语言 网络编程
深入Android SQLite 事务处理详解

Oracle 9i 视图

编程语言 网络编程
Oracle 9i 视图

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Oracle 9i锁

编程语言 网络编程
Oracle 9i锁

Oracle 9i索引

编程语言 网络编程
Oracle 9i索引

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

小技巧让你轻松Diy你的网页滚动条

小技巧让你轻松Diy你的网页滚动条

创建一个带口令地空数据库

创建一个带口令地空数据库
下拉加载更多内容 ↓