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