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
