2012-12-17 13 views
18

I punti salienti dell'immagine sottostante mostrano la logica che voglio implementare. Mi rendo conto che la sintassi non è corretta.MERGE - condizionale "ALL'INIZIO ALL'AGGIORNAMENTO"

C'è un modo per aggiornare in modo condizionale un record in un'istruzione MERGE solo se il valore di una delle sue colonne nella tabella di destinazione è NULL e il valore corrispondente nella tabella di origine non è null?

Come suggeriresti di riscriverlo?

enter image description here

+0

Questo codice deve essere formattato come codice, non come immagine – Liam

risposta

39

Potreste essere in grado di utilizzare When Matched And (s.[Created Date] Is Not Null And t.[Created Date] Is Null) Then Update ....

+3

+1 e vedere l'esempio B qui per un esempio completo: http://technet.microsoft.com/en-us/library/bb510625.aspx –

+0

Grazie per la risposta, @Laurence. –

+0

ho postato una [domanda di follow-up] (http://stackoverflow.com/questions/13924973/merge-update-column-values-separately-based-on-logic-in-when-matched-block). Ho fatto un post separato in modo da poter riconoscere questa risposta come corretta, così come una risposta alla mia domanda successiva (se sono abbastanza fortunato da averne una) –