Adriano Espinoza de Oliveira escreveu: > Estou migrando o banco da versão 8.0 para a versão 8.2.3 e sestou tento > problemas nas funções declaradas void e com retrun null no final. > Eu tenho muitas assim e a versão 8.2.3 está dando erro na execução > delas, algum pode me dar um help? > Abaixo vou colocar uma dessas funções como exemplo e tb o erro reportado > no log. > Agradeço antecipadamente. > Adriano Espinoza > > ******************************************** função > ******************************************************************************** > > > CREATE OR REPLACE FUNCTION "public"."fn_marcachqx" (varchar, integer) > RETURNS "pg_catalog"."void" AS > $body$ > declare > chq_origem alias for $1; > chq_codigo alias for $2; > begin > > -- // cheque do atacado > if chq_origem = 'A' then > update > atc_cheques > set > status = 'X' > where > codigo = chq_codigo; > > -- // cheque do varejo > else > > update > var_recebimentos > set > transmitido = 'A' > where > codigo = chq_codigo; > end if; > > return null; > end > $body$ > LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; > > > ******************************************** erro no log > ******************************************************************************** > > > ERROR: RETURN cannot have a parameter in function returning void at or > near "null" at character 406 >
Do manual: http://www.postgresql.org/docs/8.2/interactive/plpgsql-control-structures.html#PLPGSQL-STATEMENTS-RETURNING "If you declared the function to return void, a RETURN statement can be used to exit the function early; but do not write an expression following RETURN." Portanto utilize apenas "return" e não "return null". []s Osvaldo _______________________________________________________ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/ _______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/ Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios
