sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man använder IF/ELSE-satsen för att uppdatera eller skapa ny xml-nodpost i Sql

Försök att ta bort ankarelementet först och sätt sedan in det nya. Det spelar ingen roll om det finns där eller inte för raderingssatsen. Jag gav också ett bättre sätt att bygga ditt nya ankarelement. Den tar hand om att skapa entiteter för tecken som & .

-- 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]');


  1. Ställa in Active Data Guard Physical Standby i RAC One Node Architecture – Del 1

  2. Datareplikering i IRI Workbench

  3. INSERT INTO @TABLE EXEC @query med SQL Server 2000

  4. Hur kan jag ta bort dubbletter av rader?