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

Responder a