segue o corpo da funcao:
CREATE OR REPLACE FUNCTION "public"."funcalcliqmerc" (tipo varchar, filial
bigint, documento bigint, serie varchar, clifor bigint, item bigint) RETURNS
numeric [] AS
$body$
/* Corpo da nova função */
declare
linha record;
bruto numeric;
vmerc numeric;
acres numeric;
desco numeric;
arred numeric;
liqui numeric[];
begin
select into linha documento,item,
quantidade,valorunitario,coeficiente,
percdescproduto,percdesctotal
from movimento
where movimento.tipo = $1
and movimento.filial = $2
and movimento.documento = $3
and movimento.serie = $4
and movimento.clifor = $5
and movimento.item = $6;
if FOUND then
vmerc := (linha.valorunitario * linha.quantidade);
bruto := (linha.valorunitario * linha.coeficiente);
bruto := (bruto * linha.quantidade);
acres := bruto - vmerc;
desco := bruto * (linha.percdescproduto / 100);
arred := (bruto - desco) * (linha.percdesctotal / 100);
else
vmerc := 0.00;
bruto := 0.00;
acres := 0.00;
desco := 0.00;
arred := 0.00;
end if;
liqui[1] := round((vmerc - desco - arred + acres),2);
liqui[2] := round(desco,2);
liqui[3] := round(arred,2);
liqui[4] := round(acres,2);
return liqui;
end;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
----- Original Message -----
From: André Pignata
To: Comunidade PostgreSQL Brasileira
Sent: Tuesday, May 26, 2009 12:01 PM
Subject: Re: [pgbr-geral] retorno de funcao em view
Ao invés de criar um array, você pode utilizar parâmetros OUT, assim cada
parâmetro pode ser uma coluna da sua view, se eu entendi sua dúvida, acho que
isto irá funcionar.
Abçs
2009/5/26 Jeferson <[email protected]>
Bom dia a todos,
Criei uma funcao que retorna valores em um campo array (retorno[]). uso
esse campo numa view, gostaria de saber se posso criar colunas que apontem para
cada um dos valores no resultado da funcao em cada linha da consulta.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
--
André Luiz Martins Pignata
Integral Convênios Odontológicos
Gerente de TI
------------------------------------------------------------------------------
_______________________________________________
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