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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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,