SQL Server 2008 では、要素の別の子 (この場合は ID) の値に基づいて、いくつかの要素と値を xml 列の特定の子要素に挿入したいと考えています。現在、xml は次のようになっています。
<Profile>
<ID>16</ID>
<User>
<ID>BC4A18CA-AFB5-4268-BDA9-C990DAFE7783</ID>
<Name>test</Name>
<Activities />
</User>
</Profile>
ただし、xml 内に複数の要素が存在する可能性があるため、特定の値の に<User>
のみ挿入する必要があります。MS SQL Server 2008/t-sql でこれを達成するにはどうすればよいですか?<User>
<ID>
編集: 簡単にするために、その列からxmlを取得して変数に設定しています:
DECLARE @profiles_xml xml
DECLARE @profile_id int
SET @profile_id = 16
SET @profiles_xml = (SELECT profiles from tbl_applied_profiles WHERE
profiles.value('(Profile/ID)[1]','int')= @profile_id)
@profiles_xml の結果の xml 値は、上記のようになります。