Olá Eduardo,
Antes de mais nada, gostaria de agradecer pela ajuda.
Bem, se eu pegar o select que mostrei e executar diretamente, ele funciona, e
cria a tabela tmp_table_tbg_01 (como o esperado). O caso é que a mesma sintaxe,
na procedure, não está executando. Dá justamente o erro indicando a necessidade
de uma variável. O caso é que pela sintaxe, a procedure deveria estar criando
essa tabela (e fazia isso no windows normalmente, mas agora no linux não tá
funcionando). Não estou no trabalho hoje (estou em um dos clientes). Assim que
voltar pra casa, retorno com o código da função.
Novamente muito obrigado.
[]'s
Marcos Thomaz
De: Eduardo Santos
Para: Comunidade PostgreSQL Brasileira
Enviadas: Quinta-feira, 17 de Dezembro de 2009 17:34:17
Assunto: Re: [pgbr-geral] Res: Problemas com Procedure no Linux
Olá Marcos,
Esse erro normalmente indica que você esqueceu de declarar a variável
tmp_table_tbg_01 no corpo da função. Tem como você colocar todo o código da
função? Principalmente o cabeçalho (declare)?
2009/12/17 marcos thomaz
>
>Marcelo, antes de mais nada, obrigado pela ajuda.
>Quanto a versão, de ambos os S.O's é a 8.2.0.
>
>
>A mensagem de erro gerada é essa:
>
>
>ERROR: syntax error at "tmp_table_tbg_01"
>SQL state: 42601
>Detail: Expected record variable, row variable, or list of scalar variables
>following INTO.
>Context: compile of PL/pgSQL function "ajustarptanual" near line 15
>
>
>
>
>
>
>A linha na procedure onde dá o erro é a seguinte:
>
>
>select coalesce(localidade,26) as localidade, coalesce(categoria,34) as
>categoria, refmm, sum(valor) as valor into tmp_table_tbg_01 from
>func_valor_arrecadacao( vMes ) group by
> 1,2,3;
>
>
>
>
>
>
>O log:
>
>
>2009-12-17 18:16:47 ERROR: syntax error at "tmp_table_tbg_01"
>2009-12-17 18:16:47 DETAIL: Expected record variable, row variable, or list
>of scalar variables following INTO.
>2009-12-17 18:16:47 CONTEXT: compile of PL/pgSQL function "ajustarptanual"
>near line 15
>
>
>
>
>[]'s
>
>
>Marcos Thomaz
>
>
>>
>
>
>
>
>
>
>De: Marcelo Costa
>Para: Comunidade PostgreSQL Brasileira
>
>Enviadas: Quinta-feira, 17 de Dezembro de 2009 16:28:50
>Assunto: Re: [pgbr-geral] Problemas com Procedure no Linux
>
>
>Olá
>
>
>2009/12/17 marcos thomaz
>
>Pessoal, tenho um banco de dados que rodava numa máquina com Windows 2003,
>versão 8.2 do banco de dados. A empresa optou por modificar algumas coisas e
>substituímos o sistema operacional. Trocamos de Windows 2003 para Linux -
>Slackware. Mantivemos a versão do banco, porém, depois disso começou a surgir
>alguns erros em procedures que existiam no banco de dados, todos vinculados a
>sintaxe do tipo:
>>
>>
>>select coluna1, coluna2, coluna3 into NovaTabela from Tabela Where condição.
>>
>>
>>
>>
>>Esse tipo de instrução está funcionando se eu executar diretamente, mas
>>dentro da procedure está dando erro e o banco não consegue executar essas
>>procedures. Alguém teria alguma
>> idéia?
>
>
>1. Se você enviar os logs do PostgreSQL e as mensagens de erro da tua
>procedure certamente te ajudaremos
>
>2. Se vc descrever direitinho a versão do PostgreSQL no windows e a que você
>utiliza no linux também poderemos te ajudar mais.
>
>Blz ?
>
>Atte,
>
>--
>Marcelo Costa
>www.marcelocosta.net
>-
>“You can't always get what want”,
>
>Doctor House in apology to Mike Jagger
>
>
>
Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 -
Celebridades - Música - Esportes
>___
>>pgbr-geral mailing list
>pgbr-geral@listas.postgresql.org.br
>https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
--
Eduardo Santos
Analista de Sistemas
http://eduardosan.wordpress.com
http://twitter.com/eduardosan
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral