Eu tenho dados que fluem em uma tabela a partir de várias outras tabelas permite dizer: Table_A Então eu tenho uma Série de procedimento armazenado que usa os dados da tabela A associá-la com a Tabela B.
No entanto, algo que não parece ser o certo. Se eu truncar e carregar os dados, funciona bem, mas se eu não truncar e de carga, e apenas buscar a consulta por eachh hora eu recebo a mensagem de erro dizendo:
Msg 8672, Nível De 16, Estado 1, Procedimento Merge_Table_A, Linha 4 [Lote Linha De Partida 0] A instrução MERGE tentou ATUALIZAR ou EXCLUIR a mesma linha mais de uma vez. Isso acontece quando uma linha de destino corresponde a mais de uma linha de origem. Uma instrução MERGE não ATUALIZAR/EXCLUIR mesma linha da tabela de destino várias vezes. Refinar a cláusula ON para garantir uma linha de destino corresponde a, no máximo, uma linha de origem, ou utilize a cláusula GROUP BY para agrupar as linhas de origem.
Como eu posso superar isto?
Eu quero ser capaz de incrementalmente carregar os dados e não truncar carrega, mas ao mesmo tempo tem um procedimento armazenado que atualiza ou insere ou não se importa se a linha já existe.