"Fabiano Abreu" <[email protected]> escreveu na notícia da 
mensagem:CALK0A8ifjj-HP2Tfag3YPwajuaxHbWu=+qbbudafk9hde-c...@mail.gmail.com...
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 - 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
  mailto:[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

Obrigado Fabiano!

Bom material...
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a