Jump to content

POWERED BY:

Search the Community

Showing results for tags 'cursor'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Web Development
    • HTML e CSS
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets and other environments
    • WordPress
    • Mobile
    • Agile
    • Desenvolvimento de Games
    • Banco de Dados
    • Design and UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • iMasters's pub

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 1 result

  1. Edilson Chaves

    Criar um novo registro com CURSOR no MySql

    Ola amigos, uso curso a algum tempo, só que desta vez estou apanhando de algo que aparentemente e bem simples. Tenho certeza que estou esquecendo algum detalhe. To a 2 dias me debatendo com isto. Por isto estou pedindo ajuda. O que pretendo fazer e criar um novo registro que mostre a evoluçao do crecimento mensal projetando o ponto de equilibrio. Para isto eu preciso pegar a soma do mês anterior e acrescentar a soma do atual. Esta é a Procedure. Abaixo explico o quer nao esta funcionado. DROP PROCEDURE IF EXISTS sp_Monitorado; DELIMITER $$ CREATE PROCEDURE sp_Monitorado() BEGIN DECLARE done INT DEFAULT FALSE; DECLARE vVlrMesAtuPrv, vVlrMesAntPrv, vVlrMesAtuRea, vVlrMesAntRea, vPrevisto, vRealizado numeric(10,2); DECLARE vAnoAtu, vMesAtu, vOrdem, vAno, vMes INT; DECLARE vGrupo, vSubGrupo, vPessoa, vPessoaAtu VARCHAR(100); DECLARE cDados CURSOR FOR SELECT Ordem, Grupo, SubGrupo, Pessoa, Ano, Mes, Previsto, Realizado FROM vwresultadomonitoramento; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cDados; read_loop: LOOP FETCH cDados INTO vOrdem, vGrupo, vSubGrupo, vPessoa, vAno, vMes, vPrevisto, vRealizado; IF done THEN LEAVE read_loop; END IF; IF vOrdem <= 4 THEN SET vVlrMesAtuPrv = vVlrMesAtuPrv + vPrevisto; SET vVlrMesAtuRea = vVlrMesAtuRea + vRealizado; INSERT INTO zzResultado VALUES (vOrdem, vGrupo, vSubGrupo, vPessoa, vAno, vMes, vPrevisto, vVlrMesAtuPrv); END IF; IF vOrdem = 4 THEN SET vVlrMesAntPrv = vVlrMesAntPrv + vVlrMesAtuPrv; SET vVlrMesAntRea = vVlrMesAntRea + vVlrMesAtuRea; INSERT INTO zzResultado VALUES (99, vGrupo, 'PONTO DE EQUILIBRIO', vPessoa, vAno, vMes, vVlrMesAntPrv, vVlrMesAntRea); SET vVlrMesAtuPrv = 0; SET vVlrMesAtuPrv = 0; END IF; END LOOP read_loop; CLOSE cDados; END; $$ DELIMITER; Quando co cursor entra nesta condiçao abaixo ele deveria pegar o valor acumulado anterior e acrescentar as variaveis (vVlrMesAntPrv, vVlrMesAntRea). So que o valor se perde e fica tudo zerado. Alguém pode me dizer onde estou errando. Anexo tem um print do resultado que pretendo ter IF vOrdem = 4 THEN SET vVlrMesAntPrv = vVlrMesAntPrv + vVlrMesAtuPrv; SET vVlrMesAntRea = vVlrMesAntRea + vVlrMesAtuRea; INSERT INTO zzResultado VALUES (99, vGrupo, 'PONTO DE EQUILIBRIO', vPessoa, vAno, vMes, vVlrMesAntPrv, vVlrMesAntRea); SET vVlrMesAtuPrv = 0; SET vVlrMesAtuPrv = 0; END IF;
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.