Olá Sebastian, Obrigado pela resposta, mas como disse antes, tenho aqueles NOTICEs dentro do laço que me saem normalmente, como deveria. Por isso que assumo que o erro está no UPDATE, uma vez que o que é feito antes as NOTICEs me indicam que vai bem...
Infelizmente, não é tão simples assim, receio... Atenciosamente, Rodrigo Sperb > > ------------------------------ > > Message: 3 > Date: Tue, 20 Oct 2009 11:52:56 -0200 > From: Sebastian SWC <sebastian...@gmail.com> > Subject: Re: [pgbr-geral] UPDATE em a FOR LOOP de uma função não > funciona > To: Comunidade PostgreSQL Brasileira > <pgbr-geral@listas.postgresql.org.br> > Message-ID: > <7ecb774c0910200652m6bdca113tcd0b849bb5dd5...@mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > 2009/10/20 Rodrigo Sperb <rodrigosp...@gmail.com> > > > > Olá a todos, > > > > Estou tendo um problema para realizar um UPDATE numa tabela dentro de um > FOR LOOP de uma função. Por algum motivo, o UPDATE não é realizado. > > > > Aqui está a parte em que dá problema: > > > > FOR ltt IN SELECT * FROM arrival_time_function AS at INNER JOIN edge AS e > ON e.t_node=at.vid WHERE e.f_node=n_i > > LOOP > > geo := (SELECT dr_arrivaltime_function(geo_ti,n.geom, ltt.geom, > tau_i,tau_prime) > > FROM (SELECT ltt.t_node AS vid, ef.geom > > FROM _edge_delay_function_ AS ef > > WHERE ltt.id=ef.eid AND ltt.val_dir=ef.val_dir) AS n); > > RAISE NOTICE 'geo = > > %', st_AsText(geo); > > ivid := ltt.vid; > > RAISE NOTICE 'ivid = > > %', ivid; > > UPDATE arrival_time_function SET geom=geo WHERE vid=ivid; > > DELETE FROM _queue_arrival_time_ WHERE vid=ltt.t_node AND tau >= tau_i > AND tau <= tau_prime; > > END LOOP; > > > > Ah! ltt é declarado como do tipo record. E as NOTICEs me indicam que o > que não acontece é a atualização na tabela, que o resto vai bem. Por favor, > entendam que esse código já foi retrabalhado para tentar resolver o > problema. Então, por exemplo, a variável "ivid" foi criada para ver se assim > funcionava, ao invés de simplesmente colocar "vid=ltt.vid" O DELETE que > segue o UPDATE parece não funcionar também... > > > > Espero que alguém tenha uma idéia de qual é o problema. Desde já agradeço > eventuais sugestões. Isso faz parte da implementação do meu mestrado e perdi > quase o dia todo por esso erro, ao meu ver, bobo... > > > > Olá. > > confirme se entra no laço. Me parece que o problema está ai. > -- > Atenciosamente, > Sebastian Selau Webber Colombo > > > ------------------------------ > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > > Fim da Digest pgbr-geral, volume 32, assunto 56 > *********************************************** >
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral