PLSQL-包函数存储过程

包:java

包是PLSQL中多个单元的逻辑组合,他将过程组合在一个包内容,以供用户调用,使用后,不须要程序员频繁的修改程序,能够保持程序的逻辑完整性,对包中的过程从新定义或者编译,以便修改部分功能,从而更好的实现业务功能。程序员

好处:编程

  在程序设计时,程序员能够经过完成某种业务逻辑的包来简化编程。安全

  包被加载到SGA,便不须要从新加载,减小调用的加载时间。函数

  包能够增长安全性,经过建立私有过程或者函数来实现业务逻辑和数据隐藏。spa

包的建立:设计

PACKAGE package_name对象

ISelement

  [变量或者类型说明]io

  [游标声明]

  [主体对象声明(如函数过程等)]

END packeage_name

 

PACKAGE BODY package_name

IS

  [变量或者游标声明]

  [游标相关select语句声明]

  [主体对象body声明]

BEGIN

  可执行代码

EXCEPTION

  [异常处理]

END package_name

 

调用方式

①  PACKAGE_NAME.element_name (包外)

②  直接调用  (包内)

 

若是有同名过程须要不一样的参数加以区分。同java等语言相同,函数重载*

 

包的私有过程和函数 (按私有变量理解)

在包的声明中没有定义在包体中建立的函数或者过程时,要外部调用包体中的函数或者过程会报错,此时包体中的函数和过程称为私有的,只能在包体内部调用

当在包声明中定义函数或者过程,可是未在包体中定义函数或者过程则会报错。

实现了信息安全和丰富了包的业务逻辑,实现信息隐藏  

 

过程:

CREATE OR REPLACE PRODUCE PRODUCE_NAME

IS

声明区

BEGIN

执行区

EXCEPTION

异常处理区

END;

过程当中的IN OUT

In是输入参数,out是输出参数

 

函数:

CREATE OR REPLACE FUNCTION function_name (f  float)

RETURN float

IS

BEGIN

return f*f

END function_name;

函数定义,函数名,参数(in out)也能够没有参数,可是函数必需要有返回值,须要在函数定义中明确指定返回的数据类型。

相关文章
相关标签/搜索