CURSOR FOR ROWTYPE

0 views
Skip to first unread message

Profa. Simone Cristina Aléssio

unread,
Nov 27, 2013, 2:03:37 PM11/27/13
to geracaot...@googlegroups.com

create or replace procedure p_cursor_for_rowtype is


cursor dados_func is
    select e.emp_val_sal,
           e.emp_nome,
           s.faixa_desc,
           e.emp_num
    from   bd_emp e,
           faixa_sal s
    where  e.emp_val_sal between s.faixa_val_min and s.faixa_val_max
    order by e.emp_nome;
    
aux_dados_func  dados_func%rowtype;
aux_salario     bd_emp.emp_val_sal%type;

begin
    
   for aux_dados_func in dados_func loop
       
       if aux_dados_func.faixa_desc = 1 then
          aux_salario  := aux_dados_func.emp_val_sal + aux_dados_func.emp_val_sal * 0.10;
       elsif aux_dados_func.faixa_desc = 2 then
          aux_salario  := aux_dados_func.emp_val_sal + aux_dados_func.emp_val_sal * 0.20;
       elsif aux_dados_func.faixa_desc = 3 then
          aux_salario  := aux_dados_func.emp_val_sal + aux_dados_func.emp_val_sal * 0.30;
       elsif aux_dados_func.faixa_desc = 4 then
          aux_salario  := aux_dados_func.emp_val_sal + aux_dados_func.emp_val_sal * 0.40;
       elsif aux_dados_func.faixa_desc = 5 then
          aux_salario  := aux_dados_func.emp_val_sal + aux_dados_func.emp_val_sal * 0.50;
       end if;
       
       update bd_emp e  set e.emp_val_sal =   aux_salario
       where  e.emp_num =  aux_dados_func.emp_num;
       
       commit;   
       
  end loop;
  
end p_cursor_for_rowtype;
______________________________________
Profa: Simone Cristina Aléssio
Administração - Sistemas de Informação
Reply all
Reply to author
Forward
0 new messages