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',''); PL/SQL procedure successfully completed

最新文章

  1. 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(九)地图定位模块
  2. (原创)JAVA多线程三锁
  3. 给ListBox每项加图标
  4. python之路-Day10
  5. IOS UIView 01-View开始深入 绘制像素到屏幕上
  6. PHP多表取数据的代码优化
  7. [解决]ASP.NET MVC 4/5 源码调试(source code debug)
  8. Altium designer PCB中过孔铺地连接的设置
  9. VMware3种网络模式
  10. 同TextView在不同的显示内容
  11. 剑指offer 二叉搜索树后续遍历序列 判断
  12. Python+Selenium安装及环境配置
  13. 我的 FPGA 学习历程(11)—— 实验:按键消抖
  14. JupyterLab绘制:柱状图,饼状图,直方图,散点图,折线图
  15. fortran常用语句--读写带注释文档、动态数组等语法
  16. python list和tuple
  17. WebAPI使用Token进行验证
  18. java 移动开发获取多级下拉框json数据的类和mobile-select-area插件
  19. 关于syslog日志功能详解 事件日志分析、EventLog Analyzer
  20. MFC中的KillTimer

热门文章

  1. Oracle启动中,startup nomount、 startup mount 有什么差别?
  2. 如何连接OracleRAC
  3. UML学习目录
  4. Using Notepad++ To Quickly Format XML
  5. OSX终端 命令行的一些基本操作
  6. http协议详解(1)
  7. python 保存csv文件
  8. Mininet加强版——DOT(分布式OpenFlow试验平台)
  9. linux的%用法
  10. 160711、Java 多线程核心技术梳理