Mikaelが述べているように、更新の背後にあるロジックを説明する必要があります。ただし、上記の期待される出力の場合、次のように機能するはずです。
DECLARE @Words xml
SELECT @Words = '
<word A="al" B="h" C="Ps" />
<word A="has" B="es" C="Pf" />
<word A="mom" B="es" C="Ph" />'
SET @Words.modify('replace value of(/word[@A = "al"]/@B)[1] with "B1"')
SET @Words.modify('replace value of(/word[@A = "al"]/@C)[1] with "C1"')
SET @Words.modify('replace value of(/word[@A = "has"]/@B)[1] with "B2"')
SET @Words.modify('replace value of(/word[@A = "has"]/@C)[1] with "C1"')
SET @Words.modify('replace value of(/word[@A = "mom"]/@B)[1] with "B2"')
SET @Words.modify('replace value of(/word[@A = "mom"]/@C)[1] with "C2"')
SELECT @Words