第5讲-2_Oracle_编程(二)ppt课件.ppt

第5讲-2_Oracle_编程(二)ppt课件.ppt

ID:58699379

大小:167.50 KB

页数:46页

时间:2020-10-04

第5讲-2_Oracle_编程(二)ppt课件.ppt_第1页
第5讲-2_Oracle_编程(二)ppt课件.ppt_第2页
第5讲-2_Oracle_编程(二)ppt课件.ppt_第3页
第5讲-2_Oracle_编程(二)ppt课件.ppt_第4页
第5讲-2_Oracle_编程(二)ppt课件.ppt_第5页
资源描述:

《第5讲-2_Oracle_编程(二)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5讲ORACLE编程基础 (二)主要内容PL/SQL简介与运行环境PL/SQL程序块的组成事务控制命令PL/SQL流程控制游标的使用PL/SQL的异常处理存储过程、函数、触发器事务的概念事务控制命令5.4事务控制命令并发控制事务的概念当用户建立与数据库的会话后,用户就可以对数据库进行操作,而用户对数据库的操作是一个个事务来进行的。事务是指在相邻两条事务控制命令之间的一组sql语句,它是对数据库操作的逻辑单元,并且可以避免不一致的数据。事务的开始位置是从前一个事务结束以后执行的第一条SQL语句,或者在连接到该数据库以后所执行的第一条SQL语句。事务的结束是使用COMMI

2、T或ROLLBACK等显式语句标识的。事务的控制语句事务的控制命令有如下三种形式:5.4.1事务提交(COMMIT)5.4.2事务回退(ROLLBACK)5.4.3设置保存点命令(SAVEPOINT)5.4.1事务提交(COMMIT)提交命令用于提交自上次提交以后对数据库中数据所作的改动。提交命令会结束用户的事务处理,可以使对数据的改变永久化。在执行提交命令之前,数据库中的数据(永久存储介质上的数据)并没有发生任何改变,用户本人可以通过查询命令查看对数据库操作的结果,但是整个网络上的其他用户并没有看到你对数据库所作的改动。无论事务处理的规模如何,提交的响应通常差别很小。

3、因为在数据库中进行提交之前,已经完成了所有实际的工作,已经修改了数据库中的数据,完成了99.9%的工作。5.4.1事务提交(COMMIT)COMMIT命令的语法如下:COMMIT;Oracle中设置了一个自动提交的开关,如果把它设置为ON,那么所有的改变数据库中数据的语句都会立即生效,影响数据库中的数据,缺省值为OFF。格式:SETAUTOCOMMIT[ON

4、OFF]。用户主动断开与oracle的连接,这时用户当前的事务将被自动提交。5.4.2事务回退(ROLLBACK)在尚未对数据库提交的时候,可以用事务回退命令ROLLBACK,将数据库回退到上次COMMIT后的状态

5、。事务完成的所有工作都被取消,好像没有执行这些命令一样。--如果插入了一行,那么回滚就删除它;如果更新了一行,回滚就将其更新到原来的样子;如果删除了一行,就重新插入它。事务所需要执行的所有加锁处理都被释放掉;一旦事务已提交,就不能再使用事务回退命令进行回退了。ROLLBACK语句的语法是:ROLLBACK;5.4.2事务回退(ROLLBACK)当程序检测出一个错误而不能继续工作时,通常都使用显式的ROLLBACK语句。如果一个会话断开与数据库的连接,而没有使用COMMIT或ROLLBACK终止当前的事务时,那么该事务会自动被数据库撤销。用户进程被意外中止,这是用户当前的

6、事务被回滚。用户只有在必要时才可以进行回滚,它是开销很大的操作。5.4.3设置保存点命令(SAVEPOINT)如果只需回退事务的一部分时,可以使用保存点,将整个事务划分为若干部分,这样就可以回退部分事务了。保存点的设置和使用格式:SAVEPOINT<保存点名称>;设置了保存点后就可以回退到指定的保存点了,语法格式如下:ROLLBACKTO<保存点名称>;5.4.4事务处理示例例:在数据库中有一个表,表名为score_table,表有五个域:学号、姓名、班级、数学、语文成绩。我们用Oracle的SQL*Plus工具来完成3个事务。SQL>select*fromscore_

7、table;NONAMECLASSMATHSCHINESE-------------------------------------------------------1陈静3(1)88672张华3(1)87873郑军3(1)81994邓超3(1)9391SQL>deletefromscore_tablewherename='陈静';已删除1行。SQL>commit;提交完成。5.4.4事务处理示例SQL>select*fromscore_table;NONAMECLASSMATHSCHINESE-------------------------------------

8、------------------2张华3(1)87873郑军3(1)81994邓超3(1)93915.4.4事务处理示例SQL>deletefromscore_table;已删除3行。SQL>select*fromscore_table;未选定行SQL>rollback;回退已完成。5.4.4事务处理示例SQL>select*fromscore_table;NONAMECLASSMATHSCHINESE-------------------------------------------------------2张华3(1)87873

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。