Ok Tiago... funcionou... muito obrigado... Obrigado a todos pela ajuda e a atenção dispensada a mim.
Um abraço... Tiago Athayde escreveu: > desculpe, > onde tem r é registros! ficaria assim > > > linha.emissao = registros.emissao; > linha.historico = registros.emissao; > linha.entrada = registros.entrada; > linha.saida = registros.saida; > linha.saldo = registros.saldo; > > Em 30/03/07, *Tiago Athayde* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> escreveu: > > Ola Ivan, > > Primeiro vc tem que criar um tipo para o retorno da função > > CREATE TYPE "public"."tipo_caixa" AS ( > "emissao" Date, > "historico" VARCHAR(60), > "entrada" numeric(12,2), > "saida" numeric(12,2), > "saldo" numeric(12,2), > ); > > mude o tipo dos campos para o que vc usa! > > Depois vc cria a função que vai retornar o tipo criado > > > CREATE OR REPLACE FUNCTION "public"."livrocaixa" (date, date) RETURNS > SETOF "public"."tipo_caixa" AS > $body$ > declare > registros record; > linha tipo_caixa; > begin > for registros in > SELECT cx.emissao, cx.historico, cx.entrada , cx.saida, > (SELECT sum( x.entrada)-sum(x.saida) FROM caixa AS x WHERE > x.idcaixa <= cx.idcaixa) as saldo > FROM caixa as cx where cx.emissao between $1 and $2 ORDER BY > cx.idcaixa > loop > linha.emissao = r.emissao; > linha.historico = r.emissao; > linha.entrada = r.entrada; > linha.saida = r.saida; > linha.saldo = saldo; > return next linha; > end loop; > return; > end > $body$ > LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; > > Espero ter ajudado > Abraços > >>> >>> ------------------------------------------------------------------------ >>> _______________________________________________ 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
