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

Responder a