2010/1/4 GABRIEL DOS SANTOS <[email protected]>:
> Boa noite turma,
>
> Objetivo: Estou desenvolvendo uma função que retorna os dados do Locatario
> de contrato de locação, so que
> o locatario pode ser um Cliente, um Funcionario ou um Solicitante(que como
> se fosse um parceiro da empresa). Nesta função
> eu passo o Tipo de locatario e o codigo do mesmo, e de acordo com o tipo do
> mesmo, é para a função dar um SELECT na
> tabela correspondente e retornar os dados do locatario.
>
> Erro: Não esta aceitando retornar mais de coluna nos sub-selects de cada
> WHEN...
> Por isto que eu estou querendo utilizar uma estrutura de IF...THEN...END
> IF...dentro de uma função SQL.
> Alguem sabe como escrevo a sintaxe correta. Um colega da comunidade me
> indicou para utilizar o CASE...
> mais esta dando certo..
>
> O corpo da função esta logo abaixo.
>


Esta não é a maneira correta de utilizar uma Expressão Condicional.
Considere a  opção mais adequada que é utilizar PL/pgSQL [1].
Observe que em [2] é dada a dica:
"Tip:  If your needs go beyond the capabilities of these conditional
expressions, you might want to consider writing a stored procedure in
a more expressive programming language."

Osvaldo

[1] 
http://www.postgresql.org/docs/current/interactive/functions-conditional.html
[2] http://www.postgresql.org/docs/current/interactive/plpgsql.html
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a