Caro André,
2009/3/13 André Volpato <[email protected]> > Pessoal, > > Estou me matando aqui pra conseguir a quantidade de registros retornada em > uma query, usando PL/PGSQL. > > Além da quantidade de registros, preciso interagir com os resultados da > query. > > > O problema é que eu preciso desse valor *antes* de entrar no loop. > > > (...) > for result in EXECUTE query > loop > GET DIAGNOSTICS qtd = ROW_COUNT; > -- retorna 0 sempre ;( > end loop; > > Poderias criar uma tabela temporaria com a query e obter o numero de registros pelo catalogo: (...) create temp table mytemp as [query]; analyze mytemp; select reltuples into qtd from pg_class where relname = 'mytemp'; raise info 'Registros = %', qtd; for result in select * from mytemp loop -- nesse ponto terás o valor de qtd ;) end loop; (...) Não sei se existe solução melhor, mas foi a que me pareceu melhor nesse momento. > > Ou então, preciso saber se tem algum jeito de interagir com uma variável do > tipo "record". > > > (...) > EXECUTE query into result; > GET DIAGNOSTICS qtd = ROW_COUNT; > > for i in i...qtd > loop > -- aqui preciso de todos os registros de result > -- por exemplo: result linha "i" > end loop; > > > PS: PostgreSQL 8.3.6 > Interagir com o tipo record ainda não é possível. Se não me engano esta no TODO do PostgreSQL. -- Fabrízio de Royes Mello >> Blog sobre PostgreSQL: http://fabriziomello.blogspot.com
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
