Corrigido! Obrigado a todos que se dispuseram!
[]s Bruno Neiva Moreno http://brunomoreno.com Em 8 de abril de 2013 16:06, Bruno Moreno <[email protected]> escreveu: > Perdoem-me pelo vacilo, realmente a function que eu havia enviado está > correta [?] > > Bem, aqui está a function correta que eu estou tentando corrigir e que não > está atualizando os dados como gostaria. > > Grato pela ajuda! > > *CREATE OR REPLACE FUNCTION updateNumberCheckinsPlace(id1 integer, id2 > integer)* > *RETURNS boolean AS $$* > * DECLARE* > * result BOOLEAN;* > * tmp RECORD;* > * tmp2 RECORD;* > * i NUMERIC;* > * BEGIN* > * result := false;* > * FOR tmp IN SELECT DISTINCT place_id FROM places p, checkins c* > * WHERE c.place_id = p.id AND c.place_id >= id1 AND c.place_id <= id2* > * AND c.num_checkin_place IS NOT NULL * > * GROUP BY place_id ORDER BY place_id LOOP* > * i := 0;* > * FOR tmp2 IN SELECT * FROM checkins WHERE place_id = tmp.place_id > ORDER BY time_checkin LOOP* > * i := i+1;* > * EXECUTE 'UPDATE checkins SET num_checkin_place = ' || i || ' WHERE id > = ' || tmp2.id;* > * result := true;* > * END LOOP;* > * END LOOP;* > * RETURN result;* > * END;* > *$$ LANGUAGE plpgsql; * > > Bruno Neiva Moreno > http://brunomoreno.com > > > Em 8 de abril de 2013 16:02, Marcelo da Silva <[email protected]>escreveu: > > *select teste(); * >> * >> * >> *Teria que ter os valores para A e B, não é isso ?* >> * >> * >> *Marcelo Silva* >> *-------------------------------* >> >> >> Em 8 de abril de 2013 16:52, Bruno Moreno <[email protected]>escreveu: >> >>> Caros, possuo uma função que está compilando e executando sem erros. >>> Dentro dela tem um comando UPDATE. Após executada, a função acaba por não >>> realizar nenhuma alteração nos meus dados. >>> >>> Acredito que o erro esteja quando chamo o UPDATE pelo fato de que com >>> uma função simples como a que consta abaixo, também não tenho o resultado >>> esperado. >>> >>> Não consegui identificar este erro simples, alguém pode me ajudar? >>> >>> Muito obrigado. >>> >>> *create table x (a integer, b integer)* >>> *insert into x values (1,2);* >>> *insert into x values (1,3);* >>> * >>> * >>> *CREATE OR REPLACE FUNCTION teste()* >>> *RETURNS VOID AS $$* >>> * DECLARE* >>> * delta INTEGER;* >>> * BEGIN * >>> * delta := -9;* >>> * EXECUTE 'UPDATE x SET a = 1 WHERE b = 2';* >>> * END;* >>> *$$ LANGUAGE plpgsql;* >>> * >>> * >>> *select teste();* >>> *select * from x* >>> >>> Bruno Neiva Moreno >>> http://brunomoreno.com >>> >>> _______________________________________________ >>> pgbr-geral mailing list >>> [email protected] >>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >>> >>> >> >> _______________________________________________ >> pgbr-geral mailing list >> [email protected] >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> >> >
<<361.gif>>
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
