2012-12-17 47 views
18

下圖中的亮點顯示了我想實現的邏輯。我意識到語法是不正確的。MERGE - 有條件的「WHEN MATCHED THEN UPDATE」

是否有一種方法可以有條件地更新MERGE語句中的記錄,只有當目標表中的某個列的值爲NULL且源表中的相應值不爲空時?

你會建議如何重寫?

enter image description here

+0

此代碼應格式化爲代碼,而不是作爲圖像 – Liam

回答

39

您可能能夠使用When Matched And (s.[Created Date] Is Not Null And t.[Created Date] Is Null) Then Update ...

+3

+1,請參閱示例B以查看完整示例:http://technet.microsoft.com/en-us/library/bb510625.aspx –

+0

謝謝爲了答案,@勞力士。 –

+0

我發佈了一個[後續問題](http://stackoverflow.com/questions/13924973/merge-update-column-values-separately-based-on-logic-in-when-matched-block)。我做了一個單獨的帖子,所以我可以承認這個答案是正確的,以及我的下一個問題的答案(如果我有幸得到一個答案) –