2009/11/2 mvleal <[email protected]>:
> Pessoal,
>
> As Views no PostgreSQL não podem ser parametrizadas, como são as SP em
> alguns SGBDs?

VIEWs podem ter condições no WHERE como qualquer consulta.

> Se não, como criar uma function parametrizada que retorne uma consulta com
> todos os registros que atendem a determinada condição.

Função != view. A função pode executar uma consulta construída
dinâmicamente, como descrito na documentação (i.e. EXECUTE).

Soluções para retornar múltiplos registros de uma função:

1) returns SETOF
2) RETURNS TABLE
3) retornando um cursor

A solução mais flexível e eficiente é usar um cursor. SETOF e TABLE
tem o problema de TODO o conjunto de retorno ser transferido para
memória antes do retorno da função, então se a consulta retornar
muitos registros, você vai ter problemas.

Veja a minha apresentação de PL/pgSQL do PGConBR-2009 [1]

Roberto

[1] http://pgcon.postgresql.org.br/2009/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a