*Olá Hélio,*
*
*
*Veja se estas matérias lhe ajudam:*
*
*
http://postgresqlbr.blogspot.com.br/2008/04/return-query-novo-recurso-do-postgresql.html


http://www.devdb.com.br/banco-de-dados/postgresql/usando-o-return-query-em-funcoes-plpgsql-do-postgresql



Atenciosamente
_ _
*Fabiano Abreu*
*Papo Sql <http://paposql.blogspot.com> - Um blog com tutoriais, dicas e
truques sobre Sql
*


Em 25 de setembro de 2012 13:09, Hélio Oliveira <[email protected]>escreveu:

> Boa tarde Colegas!
>
> Como estou iniciando com o PG e mesmo já tendo verificado na documentação
> não vi nenhum exemplo que pudesse me dar um norte. Tenho algumas Stored
> Procedures que retornam valores que é o caso das Functions do PG. Vou
> colocar um exemplo abaixo e peço aos colegas que me digam como posso
> replicar isto no PG.
>
> No Firebird fica assim:
>
> Create or alter procedure FFinanceira (
>     mat integer,
>     ano integer)
> returns (
>     matricula integer,
>     nome varchar(50),
>     cargo varchar(50),
>     out_mes integer,
>     out_ano integer,
>     evento numeric(12,2),
>     nome_evento varchar(50),
>     referencia numeric(6,2),
>     valor numeric(12,2),
>     vencimentos numeric(12,2),
>     descontos numeric(12,2),
>     liquido numeric(12,2))
> as
> begin
>     for select v.matricula,
>                     v.mes,
>                     v.ano,
>                     v.cod_evento,
>                     e.nome
>                     v.referencia,
>                     v.valor
>          from variavel v
>             join evento e on (e.codigo = v.cod_evento)
>          where v.ano = :ano
>              and v.matricula = :mat
>     into  :matricula, :out_mes, :out_ano, :evento, :nome_evento,
> :referencia, :valor do
>     begin
>         select sum(v.valor)
>         from variavel v
>            join evento e on (e.codigo = v.cod_evento and
> e.provento_desconto
> = 'P')
>         where v.mes = :out_mes
>              and v.ano = :out_ano
>              and v.matricula = :matricula into :vencimentos
>         .........
>         suspend;
>     end
> end;
>
> ....... para não ficar muito grande o exemplo, apenas para ilustrar pois
> dentro do begin/end do for select efetuarei varias operações.
> Vejam que as variaveis (retuns()) serão o meu retorno e isto irá me
> retornar
> um dataset... sei que no PG podemos utilizar o tipo Query só não sei como
> processar essas operações.
>
> Como ficaria esta SP no PG?
>
> [ ]'s,
> Hélio Oliveira
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a