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