好吧,比尔打败了我们所有人,但这里有一个可能看起来像的例子:
Merge dbo.Audience As target
Using (
Select @VersionId As VersionId, AudienceId, GetUtcDate() As CreatedDate, @PersonId As CreatedByPersonId
From dbo.Audience
Join @AudienceXml.nodes('/Audiences/Audience') node(c)
On Audience.AudienceName = c.value('@Name', 'nvarchar(50)')
)
When Matched Then
Update
Set VersoinId = target.VersionId, Audience = target.AudienceId
, CreatedDate = target.CreatedDate
, CreatedByPersionId = target.CreatedByPersonId
When Not Matched Then
Insert dbo.Audience(VersionId, AudienceId, CreatedDate, CreatedByPersonId)