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!!

Obrigado!!


----------------------------------------------------------------------------

Em 07/11/07, geison correia<[EMAIL PROTECTED]> escreveu:
> Boa tarde caros colegas, obrigado pelas dicas, mas ainda tenho umas dúvidas.
> eu defini a variável resultado como:
>
> resultado dado_lido%ROWTYPE;
>
> onde dado_lido é o nome da tabela, correto? Como me foi sugerido. Só
> que o erro continua:
>
> ERRO:  row "resultado" has no field "dll_dh"
>
> dll_dh é um campo de dado_lido. Como eu posso pegar esse campo através
> de "resultado"? e eu fiz o seguinte SELECT:
>
> SELECT * INTO resultado from dado_lido where vei_id = codigosArena;
>
> Não seria:
>
> WHILE resultado.dll_dh >= data_hora
>
>
> Obrigado!
>
>
>
>
> Em 06/11/07, Osvaldo Rosario Kussama<[EMAIL PROTECTED]> escreveu:
> > geison correia escreveu:
> > > Caros amigos, Eu tenho o seguinte trecho:
> > >
> > > SELECT current_time INTO data_hora;
> > >
> > >       SELECT INTO codigosArena cd_veiculo_arena from t_veiculo;
> > >
> > >       SELECT INTO resultado * from dado_lido where vei_id = codigosArena;
> > >
> > >       WHILE resultado.dll_dh >= data_hora
> > > LOOP
> > >
> > > Qdo executo da o seguinte erro:
> > >
> > > ERRO:  record "resultado" has no field "dll_dh"
> > > CONTEXT:  PL/pgSQL function "filtro_de_velocidade" line 24 at while
> > >
> > > OBS: eu salvei na variável "resultado" o conteúdo da tabela dado_lido, 
> > > correto?
> > > na tabela dado_lido existe a campo "dll_dh" onde guardamos data e hora.
> > >
> > > Ele diz que o Registro "resultado" não tem o campo "dll_dh". Mas o
> > > "resultado" tem sim o campo "dll_dh". Eu não posso acessar esse campo
> > > da tabela dado_lido dessa forma?
> > >
> >
> >
> > Creio que você deva declarar:
> > resultado dado_lido%ROWTYPE;
> > no lugar de:
> > resultado RECORD;
> >
> > Veja:
> > http://www.postgresql.org/docs/8.2/interactive/plpgsql-declarations.html#PLPGSQL-DECLARATION-ROWTYPES
> > e
> > http://www.postgresql.org/docs/8.2/interactive/plpgsql-declarations.html#PLPGSQL-DECLARATION-RECORDS
> >
> > Osvaldo
> > _______________________________________________
> > pgbr-geral mailing list
> > pgbr-geral@listas.postgresql.org.br
> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >
>
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a