Osvaldo deu certo daquele jeito mesmo, ta rodando.
Valeu pela atenção!

Falta essa parte da data, vou testa sua sugestão e da uma olhada no
link sugerido.

Obrigado!




Em 07/11/07, Osvaldo Rosario Kussama<[EMAIL PROTECTED]> escreveu:
> geison correia escreveu:
> > Caros resolvi o problema parcialmente, mas o q eu estou fazendo de errado 
> > agora?
> >
> > WHILE resultado AND resultado.ddl_dh >= data_hora AND resultado.ddl_dh < 
> > hora
> > LOOP
> >
> > Da o seguinte erro:
> >
> > ERRO:  argumento do AND deve ser do tipo boolean, e não do tipo dado_lido
> > CONTEXT:  comando SQL "SELECT   $1  AND  $2  >=  $3  AND  $2  < hora"
> >
> > qual o melhor jeito de fazer esse laço? Tentei usar um FOR, mas n deu certo.
> >
> > FOR resultado IN resultado.ddl_dh >= data_hora AND resultado.ddl_dh < 
> > data_hora
> > LOOP
> >
> > Alguém pode me ajudar!!
> >
>
>
>
> Verifique se o que você deseja fazer não é:
>
> diameter := 0;
> FOR resultado IN SELECT * from dado_lido where vei_id =
> codigosArena AND ddl_dh >= data_hora;
> LOOP
>         diameter := 12742000;
>         c := 90 - (resultado.ddl.lat[0]);
>         b := 90 - (resultado.ddl.lat[1]);
>         a := resultado.ddl.lat[0] - (resultado.ddl.lat[1]);
>         x := acos((cos(b) * cos(c)) + (sin(b) * sin(c) * cos(a)));
>         x := (PI * diameter * x) / 360;
>
>         tempogasto := resultado.ddl.lat[1] - resultado.ddl.lat[0];
>         velocidade := x/tempogasto;
>
>         IF (velocidade > 150) THEN
>                 DELETE FROM dado_lido WHERE vei_id = codigosArena AND
> ddl_dh = data_hora;
>         END IF;
> END LOOP;
>
> Osvaldo
> _______________________________________________
> 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

Responder a