网络据数库网络数据库网络数据库内蒙古工业大学管理学院内蒙古工业大学管理学院王建国王建国(第十讲)(第十讲)网络据数库第七章事务及第七章事务及PL/SQLPL/SQL游标游标本本章章内内容容本本章章内内容容7.1.1事务的概念7.1.2事务提交7.1.3事务回退7.1.4保留点7.17.1事务事务7.27.2PL/SQLPL/SQL游标游标7.2.1游标的概念7.2.2显式游标7.2.3隐式游标网络据数库7.17.1事务事务第七章事务及第七章事务及PL/SQLPL/SQL游标之游标之网络据数库7.17.1事务控制命令事务控制命令7.1.17.1.1事务的概念事务的概念7.1.27.1.2事务提交事务提交7.1.37.1.3事务回退事务回退7.1.47.1.4保留点保留点事事务控制务控制命令命令事事务控制务控制命令命令网络据数库7.1.17.1.1事务的概念事务的概念事务(Transaction)是指在相邻两条事务控制命令之间的一组SQL语句,它是对数据库操作的逻辑单元。事务的控制命令包括:COMMIT(事务提交)ROLLBACK(事务回退)SAVEPOINT(设置保留点)网络据数库7.1.27.1.2事务提交事务提交提交命令(COMMIT)用于提交自上次提交以后对数据库中的数据所作的改动。系统为每个用户设置一个工作区,对数据的所有操作都在该工作区进行。在执行COMMIT之前数据库的数据并没有发生任何改变。在ORACLE中设置了自动提交开关,如果设为ON,所有的INSERT、UPDATE、DELETE的执行都会立即执行。命令格式:SQL>AUTOCOMMITON网络据数库7.1.27.1.2事务提交(续)事务提交(续)提交命令(COMMIT)用于提交自上次提交以后对数据库中的数据所作的改动。例:在网络中,假设现在有两台客户机A和B都在访问服务器上的数据,其中A有权对数据进行增、删、改等操作。如果A删除了表EMP中的一条记录,但尚未执行提交命令,则此时B并不会发现表EMP中数据有任何变动;反之,如果A执行了提交命令,则此时B将会发现EMP少了一条记录。网络据数库7.1.37.1.3事务回退事务回退未提交的UPDATE、INSERT、DELETE操作,可以用事务回退命令ROLLBACK回退,回退之后数据库将回到上次COMMIT后的状态。例:删除表EMP中姓名为FORD的雇员的所有信息,并取消以上操作。网络据数库7.1.37.1.3事务回退(续)事务回退(续)网络据数库7.1.47.1.4保留点保留点可以把一个事务划分成若干个部分,每一部分之间用一个保留点(SAVEPOINT)进行分隔。这样,在必要时就可以不必回退整个事务,而只是回退一部分,使其余部分得到保留。命令格式:SAVEPOINT保留点名;ROLLBACKTO保留点名;网络据数库7.1.47.1.4保留点(续)保留点(续)例首先给EMP表增加一条ENAME为LIU的新记录,插入保存点后再增加一条ENAME为FU的新记录。使用ROLLBACK命令回退至保留点,再尝试删除ENAME为FU和LIU的记录,观察有何现象发生。网络据数库7.27.2PL/SQLPL/SQL中的游标中的游标7.2.17.2.1什么是游标什么是游标7.2.27.2.2显式游标显式游标7.2.37.2.3隐式游标隐式游标网络据数库7.2.17.2.1什么是游标什么是游标为了处理SQL语句,ORACLE分配一片内存区域,叫上下文区游标是一个指向上下文区的句柄或指针。游标主要用来处理一个查询语句有多行数据返回的情况。在游标工作区中,指针在初始状态指向查询结果的首记录,可以通过FETCH语句,使指针逐行下移。游标是一个PL/SQL结构,有两种类型:显式游标和隐式游标网络据数库7.2.27.2.2显式游标显式游标3.2.2.1显式游标处理的四个步骤3.2.2.4通过游标操纵数据库3.2.2.2游标的属性3.2.2.5带参数的游标3.2.2.3游标的FOR循环网络据数库7.2.2.17.2.2.1显式游标处理的四个步骤显式游标处理的四个步骤定义游标(在说明部分)打开游标(在语句的执行部分)将当前行结果提取到PL/SQL变量中(在语句的执行部分)关闭游标(在语句的执行部分)网络据数库7.2.2.1.17.2.2.1.1定义游标定义游标定义游标定义了游标的名字,并将该游标和一个SELECT语句相关联.语法:CURSOR游标名ISSELECT语句;注意:此SELECT语句不能包含INTO子句。例:cursorclisselectename,deptnofromemp;可以在定义游标的语句中引用前面已经定义的变量。网络据数库7.2.2.1.27.2.2.1.2打开游标打开游标在定...