fiz a seguinte função CREATE OR REPLACE FUNCTION csw(boolean, anyelement, anyelement) RETURNS anyelement AS 'select case when $1 then $2 else $3 end;' LANGUAGE 'sql' VOLATILE;
Quando eu passo os paramentros select csw( c1 + c2 > 0 ,c1/c2,0) from tabela; gera o sequinte erro ERROR: division by zero SQL state: 22012 c1 e c2 são campos de uma tabela e as vezes os dois estão zerados ele teria que executar a codição e verificar que c1 + c2 não é maior que 0 e retorna zero. O que eu gostaria de fazer é ao inves de fazer case a=a when then a else b end; eu gostaria de subustuir a funcao case para que ficasse assim csw(a=a,a,b) se qlguem puder me ajudar grato. _______________________________________________ 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