Usando o Return Query
Utilizando o RETURN QUERY em funções
PL/PgSQL do
Postgres
RETURN QUERY
Nas últimas versões do Postgres (a partir da 8.3) foi adicionado um novo retorno para as funções PL/PgSQL, chamado de RETURN QUERY, o qual agiliza no processo de elaboração das funções, evitando a inclusão de FOR LOOP na estrutura da função.
Segue abaixo dois exemplos de utilização deste retorno:
Create or Replace Function funClientesAtivos() returns setof clientes as
$$
begin
-- este exemplo retorna a estrutura da tabela de clientes --
return query select * from clientes where situacao = 'Ativo';
end;
$$
language plpgsql volatile;
Você pode usar também com IN e OUT na função:
create or replace function funClientesCidade(IN pcidade text, OUT pcodigo, OUT pnome) returns setof record as
$$
begin
-- este exemplo evita a criação de TYPE para o tipo do retorno --
RETURN QUERY select codigo, nome from clientes where (cidade = pcidade);
end;
$$ language plpgsql volatile;
Com isso você pode agilizar seus processos de automatização de consultas a partir de funções PL/PgSQL.
Este artigo está em meu blog e pode sofrer algumas alterações:
Abraços.
Nenhum comentário foi encontrado.