如题

解决方案 »

  1.   

      和JAVA中的PACKAGE以及C#中的命名空间一样的含义,便于管理和区分
      

  2.   

    --  使用包的好处 
    -- 使用包来绑定函数和过程具有很多好处。首先,良好设计的包是对象(如函数、过程、全局变量和游标等)的逻辑分组。
    -- 当第一次调用包时,所有的代码(分析树和伪码)被加载到内存(Oracle服务器的共享全局区域[ SGA,Shared Global Area]
    -- 这意味着,第一次调用包的成本是非常高的(会涉及服务器的大量处理活动),但是随后调用的处理恨不能会比较高。
    -- 因此,在应用程序中使用包,能够比较经济地反复使用过程和函数。-- 使用包能够集成而向对象编程中所涉及的某些概念,尽管PL/SQL并不是“真正的”而向对象编程语言。借助于PL/SQL包,可以收集类似的函数过程,
    -- 并赋予公共的上下文。也能够实现对它们的封装。由于包的所有代码全部加载到内存中,也可以把类似的代码段放在一个包中,
    -- 以便多个过程和函数可以调用它们。如果处理逻辑涉及到密集的计算,并且希望把这些代码集成到一个地方,就可以使用包。-- 使用包可以增强安全性。当用户执行包中过程(或者存储过程和函数)时,会使用与拥有者相同的权限执行这个过程。在包中,
    -- 可以创建私有的函数过程,只能被相同包中其他函数和过程调用。这样可以实现信息隐藏。因此,包的结构支持自顶向下的设计模式。
      

  3.   

    包就相当于java的package,c++的namespace.......
    好处比他们更多,他们有的好处plsql包也有,比如:
    1.防止命名污染
      名字完全一样的过程和函数,单独写,只能重写,不能并存,但是在包里就不一样了,每个不同的包可以有同名的过程或函数。2.功能统一
      一系列类似的功能的过程或函数放一起,好处很明显,找也好找点3.允许重载
      单独写名字相同就不允许了,但是放包里,只要参数列表不同,都可以,java什么的也有重载4.隐藏核心代码
      就像oracle的包一样,包头给你看,包体你看不到5.最重要的就是断开依赖链
      单独写的过程或函数,依赖链很紧密,比如里面引用的表修改了,那么这个函数过过程就失效,但是包可以跳过某些依赖链,这样可以减少重编译。还有些变量跟踪也有用,因为它会在session级维持变量
    偷过来送给你 我感觉很受用哦