blacklistEmail이 수정되지 않을 때 blackListEmailLastModified가 수정되고 균일

설명 description

환경

Campaign Standard

문제/증상

사용 사례 - 파일에서 프로필을 가져올 때 파일에서 읽는 주요 속성 중 하나는 blacklistEmail입니다. 아래와 같이 원본 필드에서 조건부 업데이트를 사용하여 대상 필드에서 불필요한 업데이트를 방지하는 경우.

그러나 가져온 모든 기존 프로필에 대해 blackListEmailLastModified 필드가 수정되는 것을 알 수 있습니다. 예상되는 동작은 blacklistEmail이 수정될 때만 blackListEmailLastModified를 수정해야 한다는 것입니다.

생성된 SQL 업데이트는 다음과 같습니다.

NmsRecipient 업데이트

SET iGender=COALESCE( OutTbl.iFld1084817585, 0),

iBlackListEmail=COALESCE( CASE OutTbl.iEnaFld1086062770 WHEN 1 THEN OutTbl.iFld1086062770 ELSE NULL END, CASE WHEN OutTbl.iEnaFld1086062770=1 THEN 0 ELSE iBlackListEmail END),

iModifiedById=16107610,tsLastModified=$(현재),

tsBlackListEmailLastModified=$(현재),

tsBlackListAllLastModified=$(현재)

최저가 wkf11373941_23_1 OutTbl

여기서 NmsRecipient.iRecipientId=OutTbl.iPKey_1

AND OutTbl.iRecProcState> $(l)

AND OutTbl.iRecProcState< =$(l)

및 OutTbl.iPKey_1< > 0

위의 업데이트에서 볼 수 있듯이 blacklistEmailLastModified(tsBlackListEmailLastModified) 필드는 blacklistEmail(iBlackListEmail)의 업데이트 여부에 관계없이 업데이트됩니다.

해결 방법 resolution

해결 방법은 조건부 업데이트에 blackListEmailLastModified 필드를 추가하는 것입니다.

아래를 참조하십시오.

그리고 생성 된 SQL 업데이트는 수정 될 때만 blacklistEmail 수정된다는 것을 보여줍니다blackListEmailLastModified.

UPDATE NmsRecipient
   SET iGender=COALESCE( OutTbl.iFld1084817585, 0),
       iBlackListEmail=COALESCE( CASE OutTbl.iEnaFld1086062770 WHEN 1 THEN OutTbl.iFld1086062770 ELSE NULL END, CASE WHEN OutTbl.iEnaFld1086062770=1 THEN 0 ELSE iBlackListEmail END),
       tsBlackListEmailLastModified=COALESCE( CASE OutTbl.iEnaFld1169490137 WHEN 1 THEN OutTbl.tsFld1169490137 ELSE NULL END, CASE WHEN OutTbl.iEnaFld1169490137=1 THEN NULL ELSE tsBlackListEmailLastModified END),
       iModifiedById=16107610,
       tsLastModified=$(curdate),
       tsBlackListAllLastModified=$(curdate)
  FROM wkf11373941_25_1 OutTbl
 WHERE NmsRecipient.iRecipientId=OutTbl.iPKey_1
   AND OutTbl.iRecProcState>$(l)
   AND OutTbl.iRecProcState<=$(l)
   AND OutTbl.iPKey_1<>0
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f