2014-09-11 14:13 GMT-03:00 Paulo Bastos :
> 1. Alguem poderia me auxiliar, informando se há um impacto sinificativo
> nesta utilização. Ou seja
> vale a pena utilizar os comandos.
>
>
Caso vá repetir o mesmo comando várias vezes, há sim uma grande vantagem.
Se estiver usando versão anterior à 9.2, vale a pena migrar (já para 9.3)
pois há grandes melhorias nessa área.
> 2. Como faço para colocar o resultado da execução em uma variavel?
> Gostaria de ter o resultado
> da select em um variável.
>
> Estou usando as intruções abaixo:
>
> PREPARE query_handle (integer) as select id from socic.pessoa where
> id_telefone_atual = $1;
> Executequery_handle(telefone_id);
>
> Quando executo no pgadmin funciona normalmente. Quando executo a função
> que tem as instruções
> da o seguinte erro;
> ERRO: função query_handle(integer) não existe
>LINE 1: SELECT query_handle(telefone_id)
>^
> HINT: Nenhuma função corresponde com o nome e os tipos
> de argumentos informados. Você precisa adicionar conversões de tipo
> explícitas.
> QUERY: SELECT query_handle(telefone_id)
> CONTEXT: PL/pgSQL function migracao.limpa_telefone_duplicado2() line 36
> at comando EXECUTE
> NOTA: Query
>
Em funções PL/pgSQL você não precisa fazer nada disso. As funções PL/pgSQL
já fazem cache dos planos de execução, ou seja, é como se sempre fosse
feito um PREPARE na primeira execução e EXECUTE nesta e nas demais.
Resumindo, usando uma função PL/pgSQL você não precisa de prepared
statements... 8-)
Entretanto, uma pergunta: tem certeza que precisa executar isso 1 milhão de
vezes? Já vi muita gente "socando" consultas em loops sendo que daria pra
fazer num único comando. Se quiser ajuda com essa validação/verificação,
abra um novo assunto e nos apresente o problema.
Atenciosamente,
--
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral