|
Vou refazer minha pergunta, pois acho que falei de
tanta coisa q o negócio se perdeu.
Não vou mais falar do PREPARE pq já consegui
entender que ele NÃO serve pro que eu quero.
O caso agora é:
Existe algum problema de eu dentro de uma function,
chamar outra function que só me serve para executar comandos inserts? Estou
tentando fazer isso e dá erro. Como a function só executa comandos e não retorna
nada, ele dá erro.
Alguém já usou isso ou tem exemplos de como usou
para isso funcionar?
Parece uma coisa simples, mas tá realmente
complicado de entender o pq do erro.
----- Original Message -----
Sent: Wednesday, May 24, 2006 3:32
PM
Subject: Re: [PostgreSQL-Brasil] Prepare
e Execute
Então, dentro de uma procedure eu talvez precise
executar uma série de comandos insert e update. No meu banco atual q tá em Sql
Server eu simplesmente crio uma outra procedure com esses comandos e dou um
"exec nome_procedure_2 param_1" para que a primeira procedure não contenha
todo o código dentro dela.
Lendo sobre o PREPARE eu achei (ainda acho) que é
o que eu preciso, mas não consigo chamar um PREPARE dentro de uma procedure
para que execute esses comandos pra mim.
Estou pensando besteira em relação ao PREPARE.
Não é assim que se usa ou tem um jeito específico de se chamar um conjunto de
comandos "encapsulados"?
----- Original Message -----
Sent: Wednesday, May 24, 2006 3:03
PM
Subject: Re: [PostgreSQL-Brasil]
Prepare e Execute
Joao <[EMAIL PROTECTED]>
escreveu:
estou meu desatualizado em
pl/pgsql
Falando grosseiramente....
utilize prepare quando vc quer executar uma
procedure e nao interessa o retorno, o retorno e
descartado
Isto é PERFORM e não PREPARE.. 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 -----
Sent:
Wednesday, May 24, 2006 2:08 PM
Subject:
[PostgreSQL-Brasil] Prepare e Execute
Povo, 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 then
execute
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
_______________________________________________ Grupo de Usuários do
PostgreSQL no Brasil http://www.postgresql.org.br
|