Ir para conteúdo

POWERED BY:

Arquivado

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

André Mailho

Inserir mais de um registro no mesmo campo

Recommended Posts

Queria saber se tem como fazer um insert (ou update) com 2 valores no mesmo campo de uma coluna (no banco).

Tipo, eu possuo 1 tabela empresa, mas eu posso inserir mais de 1 contato para essa mesma esmpresa! Eu consigui fazer com apenas 1 contat por empresa; no caso, eu uso um inner join na chave da tabela contato com a chave da tabela cliente.

 

entao fica assim:

 

TABELA EMPRESA

 

chaveEmpresa // nome // caveContato

1 // EMPRESA1 // 1

 

 

TABELA CONTATO

 

chaveContato // nome // chaveEmpresa

1 // CONTATO1 // 1

 

Entao ele associa o contato a empresa! agora como eu faria para gravar mais de um contato na mesma empresa? Acho que deveria ser algo assim:

 

 

TABELA EMPRESA

 

chaveEmpresa // nome // caveContato

1 // EMPRESA1 // 1,2

 

 

TABELA CONTATO

 

chaveContato // nome // chaveEmpresa

1 // CONTATO1 // 1

 

chaveContato // nome // chaveEmpresa

2 // CONTATO2 // 1

 

 

Agora como eu faria isso no C#, como seria a query.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na sua tabela contato você grava o código da empresa do contato correto? Sendo assim, basta você gravar outro contato na sua tabela e informar na chave a mesma empresa, retirando a chave do contato da tabela empresa. Ficaria algo do tipo:

 

Empresa

EMP_CODIGO, EMP_NOME

 

Contato

CTO_CODIGO, NOME, EMP_CODIGO

 

Ai quando gravasse, seus dados ficariam assim:

 

EMPRESA

EMP_CODIGO - EMP_NOME

1 - EMPRESA A

2 - EMPRESA B

 

CONTATO

CTO_CODIGO - NOME - EMP_CODIGO

1 - FULANO - 1

2 - SICLANO - 1

3 - BELTRANO - 2

 

Note que você com isso fará um relacionamento 1xN (Uma empresa possui N contatos).

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Bom, você poderia utilizar o INSERT ALL, como no exemplo abaixo:

 

INSERT ALL

INTO sales (prod_id, cust_id, time_id, amount)

VALUES (product_id, customer_id, weekly_start_date, sales_sun)

INTO sales (prod_id, cust_id, time_id, amount)

VALUES (product_id, customer_id, weekly_start_date+1, sales_mon)

INTO sales (prod_id, cust_id, time_id, amount)

VALUES (product_id, customer_id, weekly_start_date+2, sales_tue)

INTO sales (prod_id, cust_id, time_id, amount)

VALUES (product_id, customer_id, weekly_start_date+3, sales_wed)

INTO sales (prod_id, cust_id, time_id, amount)

VALUES (product_id, customer_id, weekly_start_date+4, sales_thu)

INTO sales (prod_id, cust_id, time_id, amount)

VALUES (product_id, customer_id, weekly_start_date+5, sales_fri)

INTO sales (prod_id, cust_id, time_id, amount)

VALUES (product_id, customer_id, weekly_start_date+6, sales_sat)

SELECT product_id, customer_id, weekly_start_date, sales_sun,

sales_mon, sales_tue, sales_wed, sales_thu, sales_fri, sales_sat

FROM sales_input_table;

 

O único problema que pode causar, dependendo do momento, é de restrição das PKs, pois seu relacionamento é 1:N

 

Mas, se todos os registros pais estiverem preenchidos, não terá problemas.

 

Abraços,

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.