Cursor em mysql

MySQL

15/10/2013

Eae galera, fiz uma prova em oracle, e agora como trabalho tenho que fazer o mesmo mas em mysql, as triggers e procedures eu consegui fazer de boa, mas o cursor eu não consegui.
O enunciado é esse:

Faça um bloco PL/SQL que mostre as seguintes informações


CodFuncionario: 1
Nome: José da Silva
Competência: 082013
Salário Base: 9999,99
Salário Bruto: 9999,99
  Proventos
     Hora Extra – 9999,99
     Abono – 9999,99
  Descontos
     Adiantamento – 9999,99
     INSS – 9999,99
     IR – 9999,99

CodFuncionario: 2
Nome: Marisa Rodrigues
Competência: 082013
Salário Base: 9999,99
Salário Bruto: 9999,99
  Proventos
     Hora Extra – 9999,99
     Abono – 9999,99
  Descontos
     Adiantamento – 9999,99
     INSS – 9999,99
     IR – 9999,99


Em oracle fica assim:
set serveroutput on
DECLARE
  CURSOR cursorHolerite IS
    select f.codfuncionario, f.nome, f.salariobase, l.competencia, h.salariobruto, 
       tl.tipo, tl.descricao, l.valor
    from funcionario f, lancamento l, tipolancamento tl, holerite h
    where f.codfuncionario = l.codfuncionario and
          l.codfuncionario = h.codfuncionario and
          l.competencia = h.competencia and
          l.idtipolancamento = tl.idtipolancamento
    order by f.nome, l.competencia, tl.tipo, tl.descricao;
    
  vCodFuncionario funcionario.codfuncionario%type;
  vCompetencia holerite.competencia%type;
BEGIN
  vCodFuncionario := 0;
  vCompetencia := 0;
  FOR vHolerite IN cursorHolerite LOOP
    IF (vCodFuncionario <> vHolerite.CodFuncionario) OR 
       (vCompetencia <> vHolerite.Competencia) THEN
      dbms_output.put_line('');
      dbms_output.put_line('');      
      dbms_output.put_line('Código Funcionário: ' || vHolerite.CodFuncionario);
      dbms_output.put_line('Nome: ' || vHolerite.Nome);
      dbms_output.put_line('Competência: ' || vHolerite.Competencia);
      dbms_output.put_line('Salário Base: ' || vHolerite.SalarioBase); 
      dbms_output.put_line('Salário Bruto: ' || vHolerite.SalarioBruto);             
      vCodFuncionario := vHolerite.CodFuncionario;
      vCompetencia := vHolerite.Competencia;
    END IF;
    dbms_output.put_line(vHolerite.Descricao || '(' 
      || vHolerite.Tipo || '): ' || vHolerite.Valor);    
  END LOOP;
END;




Alguém pode me ajudar em como passar isso pra mysql?
Eder Cuer

Eder Cuer

Curtidas 0

Respostas

Alessandro Yamasaki

Alessandro Yamasaki

15/10/2013

Veja se este link te ajuda em alguma informação

http://dev.mysql.com/doc/refman/5.0/en/cursors.html
GOSTEI 0
POSTAR