PL/SQL编程—包

Posted 翎野

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PL/SQL编程—包相关的知识,希望对你有一定的参考价值。

1、PLSQL 中的包就相当于java中的package,主要好处有(1)防止命名污染,(2)功能统一,(3)允许重载,(4)可以隐藏核心代码,(5)最重要的就是断开依赖链。

2、对于一个程序需要大量的代码,需要要大量的存储过程就非得用包来实现,一次就把程序加载进去,然后就可以调用了。

3、在建包的时候,基本步骤就是(1)先create package,在里面声明procedure,(2)然后就是create package body,在package body里面编写procedure的代码即可。

4、在包里面可以建立procedure,同时也可以建立这个function,这样都封装在一起,变为私有的资源就非常便于程序的保护,同时这些代码都是一次性的调入内存中,执行起来也是非常快的。

5、总之,对于简单的程序就建立一个存储过程procedure就可以了,但是对于复杂的程序就需要建包package。
SQL> create or replace package sp_package is
  2  procedure sp_pack_pro1(id_in varchar2,name_in varchar2);
  3  function  sp_pack_fun1(mon_in number,id_in varchar2) return number;
  4  end;
  5  /
 
Package created
 
SQL>
SQL> create or replace package body sp_package is
  2  procedure sp_pack_pro1(id_in varchar2,name_in varchar2) is
  3  begin
  4  update mytest set name=name_in where id=id_in;
  5  end;
  6  function sp_pack_fun1(mon_in number,id_in varchar2)
  7  return number is
  8  sal_monsum number(7,2);
  9  begin
 10  select salary*mon_in into sal_monsum from mytest where id=id_in;
 11  return sal_monsum;
 12  end;
 13  end;
 14 
 15  /
 
Package body created
 
SQL> exec sp_package.sp_pack_pro1(\'wuwuwu\',\'1\');
 
PL/SQL procedure successfully completed

 

 

以上是关于PL/SQL编程—包的主要内容,如果未能解决你的问题,请参考以下文章

PL/SQL包(package)操作实例讲解

PL/SQL编程(函数包变量)

PL/SQL 编程(三 )程序包和包体,触发器,视图,索引

PL/SQL 编程(三 )程序包和包体,触发器,视图,索引

第三节PL/SQL编程

PL/SQL 包开始/结束块之间的代码何时执行?