2010/3/10 Osvaldo Kussama <[email protected]>:
> 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
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral