create or replace procedure p_salario_novo(p_emp_num in number,
p_salario_ant out number,
p_novo_sal out number,
p_nome out varchar2,
P_perc_reaj out varchar2) is
aux_nome bd_emp.emp_nome%type;
aux_sal bd_emp.emp_val_sal%type;
aux_faixa faixa_sal.faixa_desc%type;
aux_novo_salario bd_emp.emp_val_sal%type;
aux_perc varchar2(03);
begin
select e.emp_nome,
e.emp_val_sal,
f.faixa_desc
into aux_nome,
aux_sal,
aux_faixa
from bd_emp e,
faixa_sal f
where e.emp_val_sal between f.faixa_val_min and f.faixa_val_max
and e.emp_num = p_emp_num;
if aux_faixa = 1 then
aux_novo_salario := aux_sal + (aux_sal * 0.10);
aux_perc := '10%';
elsif aux_faixa = 2 then
aux_novo_salario := aux_sal + (aux_sal * 0.20);
aux_perc := '20%';
elsif aux_faixa = 3 then
aux_novo_salario := aux_sal + (aux_sal * 0.30);
aux_perc := '30%';
elsif aux_faixa = 4 then
aux_novo_salario := aux_sal + (aux_sal * 0.40);
aux_perc := '40%';
elsif aux_faixa = 5 then
aux_novo_salario := aux_sal + (aux_sal * 0.50);
aux_perc := '50%';
end if;
update bd_emp e
set e.emp_val_sal = p_novo_sal
where e.emp_num = p_emp_num;
commit;
p_nome := aux_nome;
p_novo_sal := aux_novo_salario;
p_salario_ant := aux_sal;
P_perc_reaj := aux_perc;
end p_salario_novo;
______________________________________
Profa: Simone Cristina Aléssio
Administração - Sistemas de Informação