> Não está claro o que você deseja. > Quando você coloca: > select mov_rec.id_contrato into valor; > você está fazendo apenas uma atribuição que poderia ser feita > simplesmente: > valor := mov_rec.id_contrato; > > Aí você fala de um array mas o comando que você apresenta não tem > nenhum subscrito. Talvez: > EXECUTE 'SELECT mov_rec.' || nome_campo_array[i] INTO valor_rec; > supondo que nome_campo_array[i] contenha o nome do campo do qual você > deseja obter o valor, por ex. id_contrato. É isso? > > Osvaldo > > Osvaldo Eh isso mesmo. Nao queria colocar todo codigo para nao ficar muito extenso, mas voce entendeu perfeitamente. O problema eh que quando eu uso este comando
EXECUTE 'SELECT mov_rec.' || nome_campo_array[i] INTO valor_rec; ele me retorna o erro: ERROR: Relation "mov_rec" does not exist esquisito nao? teoricamente deveria funcionar... Por isso eu tentei assim: EXECUTE 'select ' || quote_literal( ' mov_rec.'|| nome_campo_array[i] ) INTO valor_rec; assim nao da erro mas como saber o valor da variavel valor_rec que eh do tipo RECORD (segundo o manual deve ser RECORD) RAISE NOTICE 'valor_rec: (%)', valor_rec; ja da erro na compilacao Dai eu tentei assim: EXECUTE 'select '|| quote_literal( ' mov_rec.'|| nome_campo_array[i] ) || ' as valor_campo ' INTO valor_rec; e o notice RAISE NOTICE 'valor_rec: (%)', valor_rec.valor_campo; retorna NULL Sera que eh problema com as aspas que estou me confundindo ou oque... Obrigado novamente Flavio > _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
