Bonjour,
Je suis débutant dans ce domaine mais j'ai un souci vraiment "bête" sur un update d'une table à partir d'un table temporaire que voici :
1 2 3 4 5 6 7
| UPDATE CrmOutgoingLead ld SET iBehavioralScore = temp.iBehavioralScore, iDemographicScore = temp.iDemographicScore, tsLastModified = getDate()
FROM (SELECT tmp.iOutgoingLeadId, tmp.iBehavioralScore, tmp.iDemographicScore
FROM tempTable tmp
ORDER BY tmp.iOutgoingLeadId
LIMIT 25000 OFFSET 0) temp
WHERE (temp.iOutgoingLeadId = ld.iOutgoingLeadId
AND temp.iBehavioralScore <> ld.iBehavioralScore ) |
iOutgoingLeadId étant une clé de réconciliation ici. Lorsque je retire AND temp.iBehavioralScore <> ld.iBehavioralScore cela fonctionne correctement mais lorsque je l'ajoute l'update ne se fait pas, pourtant voici les données avant update :
table CrmOutgoingLead iOutgoingLeadId: 1320001100 iBehavioralScore : 0 iDemographicScore : 0
table tempTable iOutgoingLeadId: 1320001100 iBehavioralScore : 80 iDemographicScore : 20
On voit bien que iBehavioralScore des deux tables sont différents, il est censé mettre à jour .. Quand je change mon LIMIT à 1 cela fonctionne aussi , je sais que le souci vient de mon OFFSET car j'update par groupe de 25000 en bouclant. (la valeur de mon offset est dynamique).
Merci pour votre aide les amis,
Partager