oracle 包 及 包调用

前端之家收集整理的这篇文章主要介绍了oracle 包 及 包调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

--创建包头

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相关文章