Em 9 de março de 2010 09:45, flavio <[email protected]> escreveu:
>
>
> Por favor
> Gostaria de saber se eh possivel fazer isto em uma funcao.
>
> estou tentando pegar o valor de uma variavel montando o nome desta
> variavel. ( nao sei como me expressar, talvez por isso nao consigo achar
> mais info nos manuais)
> assim:
>
> select mov_rec.id_contrato into valor;
> RAISE NOTICE ''valor: (%)'', valor;
> isto eh o que eu quero no final, mas 'mov_rec.id_contrato' eu estou
> montanto em um loop porque alem de id_contrato vao ter outros campos
> para pesquisar em mov_rec, assim:
>
> nome_campo := ''mov_rec'' || ''.'' || tabela_detalhe_campos;
>
> o valor de nome_campo fica: 'mov_rec.id_contrato'
> qual a sintaxe que eu posso usar para conseguir o valor da variavel que
> esta em 'nome_campo'?
>
> Ja tentei assim:
> select nome_campo into valor_var;
>
> Ja tentei assim:
> select quote_literal(nome_campo) into valor_var;
>
> assim:
> EXECUTE ''select quote_literal(nome_campo)'' INTO valor_rec;
>
> assim:
> EXECUTE nome_campo INTO valor_rec;
>
> assim:
> FOR valor_rec IN EXECUTE nome_campo LOOP
> END LOOP;
>
> Mas nao cosegui pegar o valor, alguem poderia me dara uma luz ou mais
> alguma referencia nos manuais?
> Muito obrigado
>
> So mais uma duvida, como eu acesso o historico das discussoes da lista?
>
Tente:
EXECUTE 'SELECT quote_literal(' || nome_campo ||') INTO valor_rec';
dica: monte a expressão em uma variável e coloque um raise notice
desta variável para confirmar se a expressão SQL é efetivamente a que
você deseja.
O histórico está em:
http://listas.postgresql.org.br/pipermail/pgbr-geral/
ou ainda você pode usar um agregador, como por ex. o nabble:
http://old.nabble.com/PostgreSQL---Brasil-f15652.html
Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral