2010/3/10 Osvaldo Kussama <osvaldo.kuss...@gmail.com>:
> Fiz alguns testes aqui e realmente não consegui fazer a atribuição de
> um campo de um record em um comando dinâmico.
>
> Assim se recval for um record:
>  SELECT recval.valor1 INTO _valor; --> funciona
> mas
> EXECUTE 'SELECT recval.valor1' INTO _valor;  --> NÃO FUNCIONA

De fato existe uma restrição porque a plpgsql é uma linguagem estática
e não aceita construções dinâmicas como a proposta.

No artigo[1] o autor(/me) expõe tal limitação e um contorno para esta
situação.

Na versão 9.0 vc pode utilizar o módulo hstore para converter um
registro do tipo Record ou RowType:

postgres=# select * from each('linha1=>valor, linha2=>valor2'::hstore);

1) 
http://postgreslogia.wordpress.com/2008/02/20/plperl-uncrosstab-descruzamento-de-tabelas/

Abraço!

-Leo
-- 
Leonardo Cezar
http://www.aslid.org.br
http://postgreslogia.wordpress.com
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a