Isto é PERFORM e não PREPARE..estou meu desatualizado em pl/pgsqlFalando grosseiramente....utilize prepare quando vc quer executar uma procedure e nao interessa o retorno, o retorno e descartado
Do manual:
"O comando PREPARE cria um comando preparado. Um comando preparado é um objeto no lado servidor que pode ser usado para otimizar o desempenho. Quando o comando PREPARE é executado, o comando especificado é analisado, reescrito e planejado. Após isso, quando forem emitidos comandos EXECUTE o comando preparado precisa apenas ser executado. Assim os estágios de análise, reescrita e planejamento são realizados apenas uma vez, e não todas as vezes que o comando é executado."
execute e quando vc monta dinamicamente sua query ex: tipo vc tem o nome de uma tabela como parametro de uma procedure e quer efeturar uma query ai vc utiliza execute.----- Original Message -----From: Miguel Scarano BordalloSent: Wednesday, May 24, 2006 2:08 PMSubject: [PostgreSQL-Brasil] Prepare e ExecutePovo, gostaria me ajudassem em mais uma coisa.Queria entender melhor o que é uma prepare.Pelo que vi é tipo uma função pra executar um update, insert ou delete. Mas eu só posso ter dentro dela uma coisa só ou podem ser várias instruções?Eu não consigo também executar uma prepare de dentro de uma procedure, dá erro. Exemplo:...if var_1 = 2 thenexecute nome_prepare(param_1)end if;...Meu objetivo é dentro de uma procedure poder chamar alguma function ou outra coisa pra executar umas rotinas inserts e updates.Engraçado eh q mandar executar isoladamente a prepare, num editor de script, funciona na boa.
A instrução EXECUTE do servidor não pode ser utilizada dentro das funções PL/pgSQL
(http://pgdocptbr.sourceforge.net/pg80/plpgsql.html) veja nota no final do item 35.1 Visão Geral.
[]s
Osvaldo
Abra sua conta no Yahoo! Mail - 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz.
_______________________________________________ Grupo de Usuários do PostgreSQL no Brasil http://www.postgresql.org.br
