下载此文档

【高级资料】2015年零点起飞学Oracle之自定义函数与存储过程.ppt


文档分类:IT计算机 | 页数:约29页 举报非法文档有奖
1/29
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/29 下载此文档
文档列表 文档介绍
第16章自定义函数与存储过程
在Oracle数据库中,可以将一些固定的操作集中起来由Oracle数据库服务器来完成,以实现某个任务,这种方法就是存储过程。用户自定义函数与存储过程相似,只能返回单一值或表。自定义函数和存储过程。可以被方便地调用执行,从而在很大程度上实现了PL/SQL代码的复用。本章主要讲解Oracle中的自定义函数、Oracle中的存储过程、包装函数与存储过程——程序包。
使用自定义函数
函数是由一个或者多个PL/SQL的语句组成的子程序,可用于封装代码以便重新使用。Oracle中允许用户创建自己的用户定义函数。函数一般用于计算和返回一个值。
创建自定义函数
函数主要有以下部分组成。
输入部分,函数允许有输入参数,当有输入参数时,调用函数应该为这些参数赋值。
输出部分,函数需要有输出数据,也就是返回值。
函数体,函数中可以进行算术表达式运算,也允许调用SQL内置函数或其他自定义函数。
创建自定义函数
创建函数应该使用create or replace function命令,其使用格式如下所示。
create or replace function 函数名 return 返回值的类型 as
begin
函数定义
end 函数名;
其中,create or replace遵循了Oracle中创建对象的一般语法;function指定所创建的对象为函数;return则指定返回值的类型;as引起函数的定义;函数的定义应该使用begin end块来实现。
创建自定义函数
1. 创建自定义函数
【示例16-1】我们尝试创建一个最简单的函数getEmCount,该函数返回表employeenew中的记录数目。
创建自定义函数
2. 在数据字典中查看自定义函数的信息
当自定义函数创建之后,可以在数据字典中获得相应信息。与之相关的视图主要有两个:user_objects与user_source。
【示例16-2】下面在数据字典中查看自定义函数的信息。
创建自定义函数
3. 调用自定义函数
在PL/SQL环境中可以利用函数名+括号的形式,来直接调用函数,如同函数是一个全局变量。
【示例16-3】在PL/SQL环境中调用函数getEmCount。
使用函数的参数
在示例16-1中所创建和使用的函数,没有参数。Oracle中的函数允许带有输入类型参数、输出类型参数、输入输出类型参数。当自定义函数带有参数时,只需在声明语句的函数名之后添加小括号,并在小括号内指定参数的数据类型和名称即可,其语法形式如下所示。
使用函数的参数
create or replace function 函数名(数据类型1 参数1, 数据类型2 参数2…) return 返回值的类型 as
begin
函数定义
end 函数名;
在“函数名(数据类型1 参数1, 数据类型2 参数2…)”中,小括号内的参数列表中的各参数以逗号作为分隔符。其他部分与无参数函数完全相同。
【示例16-4】函数getEmCount只能获得表employeenew的记录数。我们可以通过向其传递表名参数来获得某个表中的记录数。
利用函数的确定性提高数据库效率
函数的确定性就是指我们输入相同的一个参数,其返回的结果应该一致。如果第一次输入了一个参数值,第二次再输入相同的参数值的时候返回值肯定与第一次一样,那么Oracle就会直接拿到第一次的结果,不再重复执行该函数,提高效率。函数的确定性,在于可以根据函数名和参数来缓存执行结果。当再次利用相同的参数调用函数时,Oracle将直接获得缓存值,而不会执行函数的实际代码,从而提高工作效率。

【高级资料】2015年零点起飞学Oracle之自定义函数与存储过程 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数29
  • 收藏数0 收藏
  • 顶次数0
  • 上传人3099984911
  • 文件大小0 KB
  • 时间2015-10-02