2016-03-04 9:49 GMT-03:00, Pablo Farias <pabloapfar...@gmail.com>: > Ola pessoal, > sempre trabalhei com o firebird, porem venho migrando para o postgresql, > porem tenho me esbarrado em algumas coisas que podem ser basicas para voce, > mais pra eu vem dando um baita trabalhão. > > Estou tentando criar a seguinte função basica, só para eu entender o > funcionamento da mesma, e aplicar mais informações a ela. > > A Function em sim é criada sem erro: > > > Create or Replace Function fluxo_base(date, date) returns setof cliente as > ' > declare > data date; > begin > return query SELECT > financeiro.id,financeiro.data_vencimento, > financeiro.numero_documento, > (SELECT sum(valor_parcela) FROM financeiro WHERE tipo_conta = "R" and > data_vencimento between $1 and $2) AS "Valor a Receber", > (SELECT sum(valor_parcela) FROM financeiro WHERE tipo_conta = "P" and > data_vencimento between $1 and $2) AS "Valor a Pagar" > FROM > financeiro; > return; > end > ' > language 'plpgsql' > > > Porem quando eu chamo ela assim: > > select * from fluxo_base("05/03/2015","20/07/2018"); > > Ela gera o seguinte erro: > > ERROR: column "05/03/2015" does not exist > LINE 1: select * from fluxo_base("05/03/2015","20/07/2018"); > ^ > ********** Error ********** > > ERROR: column "05/03/2015" does not exist > SQL state: 42703 > Character: 26 > >
Quando você faz: ... tipo_conta = "R" ... você está comparando o campo tipo_conta com a variável denominada "R" e não com a consttante 'R'. Idem para "P". Tente: Create or Replace Function fluxo_base(date, date) returns setof cliente as $$ declare data date; begin return query SELECT financeiro.id,financeiro.data_vencimento, financeiro.numero_documento, (SELECT sum(valor_parcela) FROM financeiro WHERE tipo_conta = 'R' and data_vencimento between $1 and $2) AS "Valor a Receber", (SELECT sum(valor_parcela) FROM financeiro WHERE tipo_conta = 'P' and data_vencimento between $1 and $2) AS "Valor a Pagar" FROM financeiro; end $$ language 'plpgsql' e select * from fluxo_base('05/03/2015'::date, '20/07/2018'::date); Osvaldo _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral