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

Responder a