Ir para conteúdo
Fórum Script Brasil

Alison Wolf

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por Alison Wolf

  1. Salve a todos...

    Tenho um pequeno sistema financeiro, onde tenho uma tabela com a seguinte estrutura:
    Table extrato (id integer, data date, tipo char(1), valor real);
    estou tentando criar uma função no PostgreSQL, que me traga os registros, ordenado por data, e calculando o saldo progressivo.

    ex:

    id, data, tipo, valor, saldo

    1, 01-03-2018, C, 100, 100
    2, 01-03-2018, D, 50, 50
    3, 02-03-2018, C, 500, 550
    4, 02-03-2018, D, 300, 250
    5, 03-03-2018, D, 300, -50

    Criei esta função
    CREATE OR REPLACE FUNCTION public.retorna_resumo(date,date)
    RETURNS SETOF extrato_financeiro
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE
    ROWS 1000
    AS $BODY$

    DECLARE resumo extrato_financeiro;
    BEGIN
    FOR resumo IN select id, data, tipo, valor from extrato where data between $1 and $2 order by data, id
    LOOP
    IF resumo.tipo = 'C' THEN
    resumo.saldo:= resumo.saldo + resumo.valor;
    END IF;
    IF resumo.tipo = 'D' THEN
    resumo.saldo:= resumo.saldo - resumo.valor;
    END IF;

    RETURN NEXT resumo;
    END LOOP;
    RETURN;
    END;

    $BODY$;

    A função, até retorna as informações, mas não calcula o SALDO...

    Peço ajuda, pois estou travado nisto.

    Agradeço

×
×
  • Criar Novo...