Osvaldo Rosario Kussama wrote:
> Brasil Software escreveu:
>   
>> Brasil Software wrote:
>>     
>>> Olá amigos tenho uma função que grava log do usuario, quando implementei 
>>>        o fonte para grava os campos alterados da um erro naq seguinte 
>>> linha.
>>>
>>> SQL02 = 'SELECT new.nome INTO valornovo';
>>> EXECUTE SQL02;
>>>       
>> Não é permitido fazer um INTO dentro de um EXECUTE.
>>     
>
> Existe uma sutileza aqui.
> Realmente um
> EXECUTE 'SELECT ... INTO' não é suportado mas um
> EXECUTE 'SELECT ...' INTO é.
> Reparem a posição do ' (isto é a string que está sendo executada), não 
> é um SELECT INTO mas sim um EXECUTE '..' INTO.
> Vejam:
> http://www.postgresql.org/docs/8.3/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN
>   
Desconhecia isso, sempre fazia um FOR para pegar um valor nesse tipo de 
situação.
Mas isso foi implementado na 8.1, mas infelizmente, trabalho com 7.4 =/

Obrigado pela dica.

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

Responder a