Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como usar a instrução IF/ELSE para atualizar ou criar uma nova entrada de nó xml no Sql


Tente excluir o elemento âncora primeiro e depois insira o novo. Não importa se está lá ou não para a instrução delete. Eu também forneci uma maneira melhor de construir seu novo elemento âncora. Ele cuida da criação de 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]');