Em 30 de abril de 2013 22:00, izaque Maciel <[email protected]>escreveu:
> Vou tentar explicar melhor. A functionX retorna uma linha, com colunas de
> tipos variados, e na functionY,
> preciso retornar uma linha ou várias linhas, e que nesta functionY, irei
> trabalhar os resultados das colunas
> na functionX, como por exemplo:
> *if* *(valor_documento is not null) then *
> * valor_documento := 0;*
> *end if;*
> *
> *
> Gostaria de saber:
> Que tipo de retorno é a functionY? Como pego o retorno da functionX para
> que eu possa fazer algumas verificações, como o exemplo acima?
>
> Obrigado.
>
>
Vc pode fazer isso chamando a função X com um CASE WHEN na função Y
(assumindo que a função é SQL):
CREATE FUNCTION Y ...
AS
..
SELECT A,
B,
(CASE WHEN (SELECT COLUNA FROM FUNCAO_X WHERE BLABLABLA) THEN 0
ELSE
1
END) AS VALORDOCUMENTO
FROM TABELA
...
ou, declarar uma variavel do tipo rec numa função PLPGSQL e trabalhar com
os as colunas retornadas.
se entendi bem, é isso. mas, pelo horário... espero ter ajudado.
--
Anselmo M. Silva
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral