sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo usar la instrucción IF/ELSE para actualizar o crear una nueva entrada de nodo xml en Sql

Intente eliminar primero el elemento ancla y luego inserte uno nuevo. No importa si está allí o no para la declaración de eliminación. También proporcioné una mejor manera de construir su nuevo elemento de anclaje. Se encarga de crear entidades para caracteres como & .

-- Delete the anchor node from the XML
set @xml.modify('delete /root/StartOne/Value6/a');

-- Build the XML for the new anchor node
set @a = (
         select @locTitle as 'a/@title',
                @locUrl as 'a/@href',
                '_blank' as 'a/@target',
                @locTitle as 'a'
         for xml path(''), type
         );

-- Insert the new anchor node
set @xml.modify('insert sql:variable("@a") into (/root/StartOne/Value6)[1]');