sql >> Databasteknik >  >> RDS >> Sqlserver

Ta bort flera noder i Single XQuery för SQL Server

Även om raderingen är lite besvärlig att göra på detta sätt, kan du istället göra en uppdatering för att ändra data, förutsatt att din data är enkel (som exemplet du gav). Följande fråga kommer i princip att dela upp de två XML-strängarna i tabeller, sammanfoga dem, exkludera icke-nullvärden (matchande) och konvertera tillbaka till XML:

UPDATE @table 
SET [column] = (
    SELECT p.i.value('.','int') AS c
    FROM [column].nodes('//i') AS p(i)
    OUTER APPLY (
        SELECT x.i.value('.','bigint') AS i
        FROM @parameter.nodes('//i') AS x(i)
        WHERE p.i.value('.','bigint') = x.i.value('.','int')
    ) a
    WHERE a.i IS NULL
    FOR XML PATH(''), TYPE
)


  1. Python Mysqldb returnerar frågetecken

  2. kopieringsformat med flera kolumner postgresql Node.js

  3. Lagra sträng med specialtecken som citattecken eller omvänt snedstreck i postgresql-tabellen

  4. En till många relation i MyBatis