精通Oracle核心技术和项目实战之存储过程.ppt

精通Oracle核心技术和项目实战之存储过程.ppt

ID:50370307

大小:77.00 KB

页数:32页

时间:2020-03-12

精通Oracle核心技术和项目实战之存储过程.ppt_第1页
精通Oracle核心技术和项目实战之存储过程.ppt_第2页
精通Oracle核心技术和项目实战之存储过程.ppt_第3页
精通Oracle核心技术和项目实战之存储过程.ppt_第4页
精通Oracle核心技术和项目实战之存储过程.ppt_第5页
资源描述:

《精通Oracle核心技术和项目实战之存储过程.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第14章存储过程前面章节中讲解了PL/SQL有关的内容。事实上,PL/SQL主要包括匿名块、存储过程和存储函数三种形式的PL/SQL块。存储过程是一段存储在数据库中执行某功能的程序。使用存储过程可以方便用户使用数据库中的应用程序。本章重点介绍如何创建存储过程以及如何在PL/SQL块中使用过程访问数据库中的数据。14.1存储过程简介在PL/SQL块中常把一些功能相对独立、需要经常执行的代码定义为一个子程序,在需要时可以根据子程序的名字进行调用,从而简化操作。这样不仅便于程序设计,而且有利于程序的调试。与其他PL/SQL块一样,在子程序中也可以定义变量、类型、游标等,同样可

2、以进行异常处理操作。需要注意的是有时必须向子程序提供参数(向子程序传递参数)。PL/SQL的子程序有两种形式,即过程和函数。过程与函数的区别在于函数有返回值,可以向调用者返回执行结果,而过程没有返回值。14.1.1认识存储过程在Oracle数据库中,可以将一些固定的操作集中起来由Oracle数据库服务器来完成,以实现某个任务,这就是存储过程。存储过程是Oracle开发者在数据转换或查询报表时经常使用的方式之一。一旦在数据库管理系统中创建了存储过程对象,用户就可以使用应用程序,通过简单命令执行存储过程。存储过程在第一次执行时,进行语法检查和编译,执行后,它的执行计划就驻留

3、在高速缓存中,用于后续调用。存储过程可以接收和输出参数,返回执行存储过程的状态值,还可以嵌套调用。详细内容在下面讲解。14.1.2存储过程的作用存储过程的编写相对复杂,但是很多人都在使用它。这是因为它有着一系列的优点。简化复杂操作。增加数据独立性。提高安全性。实现表字段完整性。14.2创建存储过程和执行存储过程更倾向于数据库操作。存储过程的创建有固定的模式。我们可以使用语句的方法创建,也可以使用PL/SQL工具创建,本节主要学习使用语句的方法创建执行存储过程。14.2.1创建存储过程在PL/SQL语句中,可以使用createorreplaceprocedure命令创建用

4、户自定义存储过程。存储过程包括无参数的存储过程以及各类有参数的存储过程。创建无参数的存储过程语法结构如图所示。14.2.1创建存储过程1.创建无参数存储过程无参数的存储过程就是在创建的存储过程中不带任何参数,通过这种存储过程用做数据转换的几率比较大。【示例14-1】创建一个简单的存储过程,输出信息“人生追求情趣,年轻追求个性。”。【示例14-2】在数据表customersnew中,存储了顾客信息。【示例14-3】创建一个无参数存储过程,用于修改表customersnew中列credit_limit的数据,为status是“gold”的credit_limit增加1000

5、0。14.2.1创建存储过程2.查看存储过程信息存储过程一旦创建,就存储在数据库服务器上,Oracle允许开发人员查看已经存在的存储过程脚本,这可以通过数据字典(视图)user_objects和user_source进行查看。当从视图中查询过程时,需要把名称大写。14.2.1创建存储过程(1)通过user_objects查看存储过程。【示例14-4】前面创建了创建一个无参数存储过程pro_print,现在通过数据字典user_objects查看存储过程信息。【示例14-5】利用user_source查看存储过程pro_print的详细信息。14.2.1创建存储过程3.显

6、示存储过程的错误编写存储过程时由于各种原因都有可能出现错误而导致过程编译失败,这种情况下,可以利用视图user_errors查看具体的错误提示。【示例14-6】创建一个简单的带有错误的存储过程,输出信息“人生追求情趣,年轻追求个性。”。【示例14-7】利用user_errors查看存储过程的具体的错误提示。14.2.1创建存储过程4.执行存储过程存储过程一旦创建,便可以被其他用户调用。执行存储过程非常简单。当处于PL/SQL代码块中时,可以直接利用存储过程名称来调用和执行存储过程如下所示。【示例14-8】调用和执行存储过程pro_print。【示例14-9】使用exec

7、ute命令调用存储过程pro_credit。14.2.2有参数的存储过程无参数的存储过程不会接受参数的传入和传出,是针对表或者视图的查询或者删除操作,适合进行数据的转换操作。但是存储过程可以带参数,实现特定的功能。参数的使用将增加存储过程的灵活性,给数据库编程带来极大的方便。14.2.2有参数的存储过程存储过程的参数有三种:in(输入类型)参数、out(输出类型)参数和inout(输入输出类型)参数。在过程中可以定义参数,在调用该过程时,可以向过程传递实际参数。如果没有参数,则过程名后面的圆括号及参数列表可以省略。参数的定义形式如图所示。

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

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

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