oracle 包 及 包调用

转载 2018年04月17日 21:09:36

--创建包头

create package testpack --创建一个包头,里面定义变量和方法名称,方法参数,返回值类型

is                   
                v_tax number;
                v_s number;
                  Function tax(v_money number) return number;
                  function addd(v_a number,v_b number) return number;

end testpack;

--创建包体


create package body testpack --创建包体,里面具体实现包头定义的方法.注意格式
is       
         function tax(v_money number)   return number is
         begin

           if(v_money<3500) then null;
          elsif(v_money>=3500 and v_money<5000) then v_tax := (v_money-3500)*0.03-0;
          elsif(v_money>=5000 and v_money<8000) then v_tax := (v_money-3500)*0.1-105;
          elsif(v_money>=8000 and v_money<12500) then v_tax := (v_money-3500)*0.2-555;
          elsif(v_money>=12500 and v_money<38500) then v_tax := (v_money-3500)*0.25-1005;
          elsif(v_money>=38500 and v_money<58500) then v_tax := (v_money-3500)*0.3-2755;
          elsif(v_money>=58500 and v_money<83500) then v_tax := (v_money-3500)*0.35-5505;
          elsif(v_money>=83500) then v_tax := (v_money-3500)*0.45-13505;  
              
            end if;
            return v_tax ;
         end tax;
         
         
         function addd(v_a number,v_b number) return number is
           begin

             v_s := v_a+v_b;
             
             return v_s;
            end addd;
         
                      
end testpack;

---调用方法


declare
     v_tax number;
     v_s number;
    begin
      v_tax:= scott.testpack.tax(&input2);
      v_s := scott.testpack.addd(&input,&input1);
      dbms_output.put_line(v_s);
       dbms_output.put_line(v_tax);
      end;

Oracle,day8,开发程序和包

前言:今天早上参加了中移在线的一个线上评测,对于测试题目的反应和思路感觉都不太清晰,哎,思维灵敏度还需要锻炼啊。子程序子程序是指被命名的PL/SQL块,这种块可以带有参数,可以在不同应用中被多次调用,...
  • holy516203
  • holy516203
  • 2016-12-10 19:52:47
  • 106

oracle中包的创建和调用

包用于在逻辑上的组合过程和函数,它由包规范和包体两部分组成。 1.创建包规范 create package sp_package is  procedure update_sal(n...
  • zh23862691
  • zh23862691
  • 2013-06-10 20:04:17
  • 1997

oracle 创建包和存储过程并调用举例

--规范   create or replace package test_pkg is  --test_pkg为包名   procedure showMessage;  --声明一个过程   ...
  • gc_cg
  • gc_cg
  • 2017-03-05 19:31:27
  • 1210

C#调用ORACLE包

调用: conn.Open(); OracleCommand cmd = new OracleCommand("MyPackage1.MyProcedure", c...
  • thunder_0927
  • thunder_0927
  • 2013-12-17 11:11:38
  • 1024

oracle包的简单创建和调用-例子

oracle包的简单创建和调用-例子 oracle包的简单创建和调用-例子 创建包头 创建包体 包调用 调用 调用结果打印 其他 查询结果 创建包头 -- 创建包...
  • JerryITGO
  • JerryITGO
  • 2018-02-13 14:14:04
  • 53

Oracle中包的使用

Oracle中包的使用 包头 创建语法 create  [or  replace]  package  package_name {IS|AS} type_definit...
  • dzy21
  • dzy21
  • 2016-07-22 08:42:54
  • 3562

Oracle中包(PACKAGE)的使用方法

1、定义 包:(1)被组合在一起的相关对象的集合,当包中任何函数或存储过程被调用,包就被加载入内存。 (2)包中的任何函数或存储过程的子程序访问速度将大大加快。 (3)包由两个部分组...
  • casellee
  • casellee
  • 2016-08-18 11:22:19
  • 1701

Oralce存储过程之包内调用其他过程

存储过程基础不在这说了。 第一步先创建存储过程的包体: create or replace package pk_test_2 as procedure etl(curDate   out ...
  • u013170178
  • u013170178
  • 2017-05-18 15:24:10
  • 734

Oracle 程序包里 直接调用 存储过程

创建一个包 test1 create package test1 is PROCEDURE t1; end test1; 创建包的主体 test1,里面有个存储过程 t1,还有一个调用...
  • qq_25775675
  • qq_25775675
  • 2017-11-07 13:11:33
  • 174

Mybatis调用Oracle带包存储过程

存储过程太多的情况可分包存储。方便查找些。 1.建带包存储过程: oracle中找到包右键新建,代码可参考以下 create or replace package PKG_A_LOG(包名...
  • banjf
  • banjf
  • 2016-03-14 15:10:25
  • 1830
收藏助手
不良信息举报
您举报文章:oracle 包 及 包调用
举报原因:
原因补充:

(最多只允许输入30个字)