J'ai des données circulant dans une table à partir de plusieurs autres tables permet de dire: Table_A Ensuite, j'ai un Fusion procédure stockée qui prend les données de la table A fusionne avec le Tableau B.
Cependant, quelque chose ne semble pas être de droite. Si je tronquer et de charger les données, il fonctionne très bien, mais si je n'ai pas tronquer et de la charge, et extraire seulement la requête par eachh heure, j'obtiens le message d'erreur disant:
Msg 8672, Niveau 16, État 1, Procédure Merge_Table_A, Ligne 4 [Lot De La Ligne De Départ 0] L'instruction MERGE tenté de mettre à JOUR ou SUPPRIMER la même ligne plus d'une fois. Cela se produit lorsqu'une ligne cible correspond à plus d'une ligne source. Une instruction MERGE ne peut pas mettre à JOUR/SUPPRIMER la même ligne de la table cible à plusieurs reprises. Affiner la clause d'assurer une ligne cible correspond au plus une ligne source, ou de l'utilisation de la clause GROUP BY pour regrouper les lignes source.
Comment puis-je surmonter cela?
Je veux être en mesure de mettre à charger les données et ne pas tronquer les charges, mais dans le même temps, une procédure stockée que les mises à jour ou des inserts ou ne s'inquiète pas si la ligne existe déjà.