Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rhoads88

Gravação de registros em colunas dinâmicas da tabela

Recommended Posts

Boa tarde!

 

Estou com uma dúvida a respeito da gravação de registros no banco do oracle. Estou usando o oracle 6.

 

Quero fazer uma gravação do registro informando dinamicamente o número da coluna na tabela. Ou seja, ao invés de fazer:

 

insert into tabela (coluna1)

 

eu quero inserir este valor na tabela de acordo com o column_id desta tabela.

 

Acredito que internamente o banco de dados interpreta esse script sql e envia a informação para um endereço de memória aonde está armazenada a coluna da tabela.

 

 

A ideia seria metaforicamente:

 

SELECT ENDEREÇO_COLUNA('COLUNA_TESTE')

FROM TABELA

INTO VAR;

 

INSERT INTO TABELA(VAR) VALUES '1';

 

Ou seja, quero gravar no campo VAR da TABELA, mas esse campo não é sempre o mesmo.

 

 

EX 2 - prático:

 

Tenho 200 colunas em uma tabela, ex: pk,op_1,op_2,op_3,op_4,op_5....

Fazer uma gravação de dados de um arquivo texto com 200 linhas.

Cada linha que leio grava na proxima coluna no mesmo registro.

 

Espero ter conseguido me expressar. Deve haver uma maneira de fazer isso, até no Dataflex tem.. hehehehe

 

Abraço,

Marcelo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode montar o select de forma dinâmica usando o dicionário de metadados do Oracle.

 

Veja um exemplo aqui.

 

Para mais detalhes do metadados

 

select * from dict

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.