Views no PostgreSQL

View: New views
4 Messages — Rating Filter:   Alert me  

Views no PostgreSQL

by mvleal :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Pessoal,

As Views no PostgreSQL não podem ser parametrizadas, como são as SP em alguns SGBDs?

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

Grato.

Aguardo.

Maurício




_______________________________________________
pgbr-geral mailing list
pgbr-geral@...
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: Views no PostgreSQL

by Marcelo Costa-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Olá

2009/11/2 mvleal <mvleal@...>

Pessoal,

As Views no PostgreSQL não podem ser parametrizadas, como são as SP em alguns SGBDs?

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

Grato.

Aguardo.

Maurício


Procure por Materialized Views[1] talvez isso te ajude.

[1] http://tech.jonathangardner.net/wiki/PostgreSQL/Materialized_Views

--
Marcelo Costa
www.marcelocosta.net
-------------------------------------------------
“You can't always get what want”,

Doctor House in apology to Mike Jagger

_______________________________________________
pgbr-geral mailing list
pgbr-geral@...
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: Views no PostgreSQL

by Osvaldo Kussama :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/11/2 mvleal <mvleal@...>:
>
> As Views no PostgreSQL não podem ser parametrizadas, como são as SP em
> alguns SGBDs?
>
> Se não, como criar uma function parametrizada que retorne uma consulta com
> todos os registros que atendem a determinada condição.
>


Se entendi sua dúvida: você pode criar uma função que retorne um
conjunto de registros. Veja o exemplo getAllFoo() em:
http://www.postgresql.org/docs/current/interactive/plpgsql-control-structures.html#PLPGSQL-STATEMENTS-RETURNING

Outra possibilidade seria usar prepared statements:
http://www.postgresql.org/docs/current/interactive/sql-prepare.html

Lembrando também que você pode adicionar a cláusula WHERE quando
utilizar sua view.

Osvaldo
_______________________________________________
pgbr-geral mailing list
pgbr-geral@...
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: Views no PostgreSQL

by robertomello :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/11/2 mvleal <mvleal@...>:
> 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
pgbr-geral@...
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral