pl/sql 中的 包

包: PL/SQL中将相关的对象存储到一起的一种机构形式 
    相关对象:变量,游标,异常,存储过程,函数

     组成:包头(包规范):包含相关信息的声明,不含有任何子程序和代码
           包体:主要的代码和函数等(先编译包头) 
案例一:
   create package pack1
   is 
      procedure  procadd(x number,y number);
      procedure  procsub(x number,y number);
    end pack1;   
 包体:
   create package body pack1
   is 
      procedure  procadd(x number,y number);
      is 
      begin 
          dbms_output.put_line(x+y);
      end;
      procedure  procsub(x number,y number);
      is 
      begin
             dbms_output.put_line(x+y);
      end;
    end pack1;   

包头  
CREATE [OR REPLACE] PACKAGE package_name
AS|IS
    variable declare;
    cursor declare;
    procedure declare;
    function declare;
    .....
END  [package_name];

包体  
    包含函数和过程的代码
    包头成功通过编译后,才可以进行编译
    可以包含私有函数和过程
    允许函数和过程的重载 

CREATE [OR REPLACE] PACKAGE BODY package_name
AS|IS
     global variables;
    procedure ;
    function ;
    .....
BEGIN 
    initialize statement;
END  [package_name];

案例:
create package jisuan
is 
   funtion funcadd(x number,y number) return number;
   funtion funcsub(x number,y number) return number;
end;

    create package body jisuan
    is
        funtion funcadd(x number,y number) return number
      is
          result number :=0;
      begin
          result :=x+y;
          return result;
      end;
        funtion funcsub(x number,y number) return number
      is
          result number :=0;
      begin
          result :=x-y;
          return result;
      end;
end;
     
包的相关数据字典
     user_objects:用户拥有的全部数据库对象
     user_source: 用户存储在数据库中程序和包的源代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值