Problems passing a list of objects to another list

2

I need to pass a list of objects from one table to another list of objects in another table, I have been able to fetch the information, but I can not save them.

Ex:  I have a table of people, in case I have the fields: Name, Age, Telephone, CPF, Address, fk_status

And in the other table that connects with the one of state people, being that a person can have more than one state, that is, many-to-many relationship, but at the time of saving, how can I do to save this list ?

    
asked by anonymous 10.06.2016 / 15:54

1 answer

2

You can create something like this.

And add your list as well.

-- Sua primeira pessoa
INSERT INTO [dbo].[Pessoas]([Nome],[Idade],[Telefone],[CPF])
     VALUES('Carlos',21,'1122223333','345.322.234-54')
GO


 -- Sua lista de Estados 
 -- após você grava seu usuario você tem que fazer um loop para salvar cada estado da pessoa,
 -- caso isso esteja dentro de alguma aplicação 

 declare @IdPessoa int = @@IDENTITY;

INSERT INTO [dbo].[Estados]([IdPessoa] ,[Descricao]) VALUES
 (@IdPessoa,'Estado 1'),  -- Aqui onde ficar a intereção do seu insert veja que o IdUsuario é sempre o mesmo
 (@IdPessoa,'Estado 2'),  -- ou seja para pessoa você pode ter mais de um estado. 
 (@IdPessoa,'Estado 3'),  
 (@IdPessoa,'Estado 4'),  
 (@IdPessoa,'Estado 5'),  
 (@IdPessoa,'Estado 6'),  
 (@IdPessoa,'Estado 7')


 select * from Pessoas P
 join Estados E
 on E.IdPessoa = P.IdPessoa

IdPessoa    Nome    Idade   Telefone    CPF IdEstado    IdPessoa    Descricao
2   Carlos  21  1122223333  345.322.234-54  1   2   Estado 1
2   Carlos  21  1122223333  345.322.234-54  2   2   Estado 2
2   Carlos  21  1122223333  345.322.234-54  3   2   Estado 3
2   Carlos  21  1122223333  345.322.234-54  4   2   Estado 4
2   Carlos  21  1122223333  345.322.234-54  5   2   Estado 5
2   Carlos  21  1122223333  345.322.234-54  6   2   Estado 6
2   Carlos  21  1122223333  345.322.234-54  7   2   Estado 7
    
10.06.2016 / 16:44