create or replace function getaddsalaryratiocase(p_job varchar2)
return number
as
v_resylt number(7,2);
begin
case p_job --使用case when 语句进行条件判断
when 'clerk'
then --职员加薪比例是10%
v_result:=0.10;
when 'salesman'
then
v_result:=0.12; --销售人员加薪比例是12%
when 'manager'
then
v_result:=0.15; --经理加薪比例是15%
end case;
return v_result; --返回值加薪比例
end;
代码使用了CASE-WHEN语句后,在调用时与IF-THEN-ELSIF产生了相同的效果,但是两者有一个区别:当CASE发现一个WHEN子句不存在的判断条件时,会触发异常