- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                4.4.3 游标使用     当需要对当前行进行更新或删除操作时,PL/SQL为游标的UPDATE和DELETE语句提供了WHERE CURRENT OF语句。这个语句可以很容易地修改最后取出来的数据行。 UPDATE 表名   SET set 语句     WHERE CURRENT OF 游标名; 要从数据库删除最后一次取出来的记录,语法如下所示: 要更新最后取出来的记录的列,语法如下所示: DELETE   FROM 表名     WHERE CURRENT OF 游标名; 4.5 PL/SQL存储过程     存储过程是数据库对象之一,它是数据服务器内的一段使用PL/SQL语言编写的程序单元,具有EXECUTE权限的用户可以显式地调用过程。     存储过程保存在数据库服务器上,被显式地调用完成过程定义的计算任务,可以接受各种Oracle定义的参数,用户可以在SQL Developer或者任何可以执行SQL语句的接口处执行PL/SQL过程,一旦过程被创建则在数据字典中记录该数据库对象信息,其数据库对象类型为PROCEDURE。 存储过程具有如下优点:  加快程序的执行速度  减少网络的数据流量  提供了一种安全机制  允许程序模块化设计  提高编程的灵活性 4.5.1 存储过程定义 一个存储过程由三部分组成,即声明区、子程序区和异常处理区,如图所示: 4.5.1 存储过程定义     其中,可选关键字OR REPLACE表示如果存储过程已经存在,则用新的存储过程覆盖,通常用于存储过程的重建。参数部分用于定义多个参数(如果没有参数,就可以省略),参数有三种形式:IN、OUT和IN OUT,如果没有指明参数的形式,则默认为IN。 声明区位于PROCEDURE和BEGIN之间,在声明区用来定义变量,例如: CREATE OR REPLACE PROCEDURE PROTEST IS   --声明变量   xxx NUMBER;   yyy VARCHAR2(20):=oracle;   --声明REF游标   TYPE empcursor IS REF CURSOR;   --异常对象   read_disk_refused EXCEPTION;   --内嵌函数或其他存储过程   FUNCTION foo RETURN Boolean IS …… 4.5.1 存储过程定义     子程序区,即BEGIN…END之间的部分,这部分包括PL/SQL代码逻辑,其中的代码逻辑对于声明区是可见的,这部分是存储过程执行其功能的主体部分,并且在过程的定义中,子程序部分是不可缺少的,要求在BEGIN…END之间至少有一条PL/SQL语句,可以是NULL,例如: CREATE OR REPLACE PROCEDURE PROTEST IS BEGIN   --此处是PL/SQL代码逻辑   logical statement; END; 异常处理区处理在子程序执行中发生的异常,例如: …… IF age150 THEN RAISE dateexp; EXCEPTION   WHEN dateexp THEN     handling dateexp;   WHEN OTHERS THEN     handling other exps; END;     创建存储过程可以使用SQL*Plus工具,也可以使用SQL Developer工具,也可以在Windows的记事本中编辑,当使用记事本编辑存储过程时,需要将它保存为一个.SQL脚本文件,最后使用SQL*Plus或SQL Developer执行该脚本文件。需要注意的是,用户应当具有创建存储过程的权限 4.5.2 存储过程管理     在Oracle数据库中,存储过程对象的定义信息是存放在系统数据字典的系统表中。开发人员可以通过对系统表USER_OBJECTS进行查询访问,可获取所需存储过程的基本信息,通过对系统表USER_SOURCE进行查询访问,可获得所需存储过程的代码信息。 1. 存储过程查看     假定用户需要从USER_OBJECTS表中获取Insert_Student 存储过程的名字(OBJECT_NAME)、对象类型(OBJECT_TYPE)、存储过程创建时间(CREATED)、存储过程状态(STATUS)信息,其SELECT语句如下所示: SELECT Object_Name, Object_Type, Created, Status FROM USER_OBJECTS WHERE Object_Type = PROCEDURE AND Object_Name = DELETE_STUDENT; 4.5.2 存储过程管理     假定用户需要从USER_SOURCE表中获取I
                您可能关注的文档
- Office2010高级应用教程第2章.ppt
- Office2010高级应用教程第3章.ppt
- Office2010高级应用教程第4章.ppt
- Office2010高级应用教程第5章.ppt
- Office2010高级应用教程第6章.ppt
- Office2010高级应用教程第7章.ppt
- Office2010高级应用教程第8章.ppt
- Office2010高级应用教程第9章.ppt
- Office2010高级应用教程第10章.ppt
- Office2010高级应用教程第11章.ppt
- Oracle数据库第5章 Oracle数据库安全管理.ppt
- Oracle数据库第6章 Oracle数据库建模设计与实现.ppt
- Oracle数据库第7章 Oracle数据库Web应用编程.ppt
- Oracle数据库管理与开发第1章 数据库的基本概念与Oracle环境.ppt
- Oracle数据库管理与开发第2章 数据库创建.ppt
- Oracle数据库管理与开发第3章 表与表数据操作.ppt
- Oracle数据库管理与开发第4章 数据库的查询和视图.ppt
- Oracle数据库管理与开发第5章 索引与数据完整性.ppt
- Oracle数据库管理与开发第6章 PL SQL语言介绍.ppt
- Oracle数据库管理与开发第7章 存储过程和触发器.ppt
 原创力文档
原创力文档 
                        

文档评论(0)