加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle 包 及 包调用

发布时间:2020-12-12 13:59:15 所属栏目:百科 来源:网络整理
导读:--创建包头 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 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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读