欢迎光临散文网 会员登陆 & 注册

oracle中函数

2023-03-13 14:26 作者:阿彦绝地反击  | 我要投稿

一、oracle中函数

在oracle中函数用于处理逻辑关系,完成一个或n个较为复杂的逻辑功能。

例如:计算工资应纳所得税,这是逻辑

1.声明自定义函数,实现2个数找最大值,并返回最大值

函数声明语法:

create function 自定义函数名(

参数名1 [in/out/in out] 参数类型,

...

参数名2 [in/out/in out] 参数类型

)

return 返回值类型

as/is /*as 与 is任选一个,表示函数体的开始,函数体书写与变量声明、编辑等雷同,区别在于没有declare*/

...声明区...

begin

... 编辑区...

return 返回值; 

end;




答:自定义函数求2个数最大值参考代码如下

drop function fn_numberMax;

create function fn_numberMax(

v_a number,

v_b number

)

return number

as 

v_max number;

begin

if v_a>=v_b then

v_max:=v_a;

else

v_max:=v_b;

end if;

return v_max;

end;

/



调用求最大值函数

select upper('abc') from dual;

select fn_numberMax(10,2) from dual;


2.根据工资计算个人所得税

drop function fn_money;

create function fn_money(

v_sal emp.sal%type

)

return number

as

v_m number;

begin

if v_sal <= 800 then

v_m:=0;

elsif v_sal<=1500 then

v_m:=(v_sal-800)*0.03;

elsif v_sal<=3000 then

v_m:=(v_sal-1500)*0.25+21;

else

v_m:=(v_sal-3000)*0.3+21+375;

end if;

return v_m;

end;


显示每个员工工号、姓名、工资、个税

select empNo,eName,sal,fn_money(sal) money from emp;


oracle中函数的评论 (共 条)

分享到微博请遵守国家法律