I like the feature that row comparisons can be done on a limited number of columns. This is useful where columns may be updated by triggers and contain LastTimes. However, it appears that when I limit the comparison to specific columns, if a row exists in one table but not the other, only the compared column values are used for the INSERT. Unfortunately, if the column does not allow NULLs, the INSERT fails. I'd like to do the comparison on the specified columns and update only those columns if they differ. However, if one row exists in the source table and not in the target table, I'd like all columns to be inserted.