procedure if condicional

0 views
Skip to first unread message

Profa. Simone Cristina Aléssio

unread,
Nov 22, 2013, 12:42:22 PM11/22/13
to geracaot...@googlegroups.com


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
Reply all
Reply to author
Forward
0 new messages