J'ai une situation dans laquelle une procédure de magasin contient une instruction de fusion. La procédure récupère les données de la table A et utilise l'instruction de fusion pour mettre à jour certains enregistrements dans la table B. La procédure fonctionne correctement mais parfois, il existe des instances dans lesquelles des enregistrements sont dupliqués dans la table A. et le paquet s'exécute dans un travail et il donne l'erreur ci-dessous. Existe-t-il des moyens de déboguer cela? Comme certains où dans la procédure de magasin dire si elle donne une erreur, puis insérer les données source dans une table? Toute contribution est appréciée.Débogage de l'instruction d'instruction de fusion
Merci
Erreur:
failed with the following error: "The MERGE statement attempted to UPDATE or DELETE the same row more than once. This happens when a target row matches more than one source row. A MERGE statement cannot UPDATE/DELETE the same row of the target table multiple times. Refine the ON clause to ensure a target row matches at most one source row, or use the GROUP BY clause to group the source rows.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
Regardez à DISTINCT ou agréger les lignes dans le tableau A avant la fusion pour la joindre la clé (s) finissent par identifier une rangée unique. – VBlades