sql >> Databáze >  >> RDS >> Sqlserver

Odstraňte uzel xml ze sloupce tabulky SQL Server 2008 r2 na základě hodnoty atributu

No, protože váš atribut XML id je jmenný prostor XML s předponou p5 , musíte také deklarovat a používat tento druhý jmenný prostor XML ve svém kódu:

declare @lookupvalueId varchar(50)
declare @ruleId varchar(50)

set @lookupvalueId = 'b897f3ac-b40f-4b96-b438-eb156a26457e'
set @ruleId = 'fc39f423-05c0-4de9-ae46-12fe3c0c279b'

;WITH XMLNAMESPACES ('urn:gjensidige:processguide:201201' as qn,
                     'urn:gjensidige:processguide:201201' as p5)
update 
    pdr_processdefinitionrule
set 
    PDR_RuleXml.modify('delete (/qn:DifficultyRule/qn:FromControls/qn:Control/qn:FilterValues/qn:FilterValue[@p5:Id=sql:variable("@lookupvalueId")])')
where 
    pdr_guid = @ruleId

Podívejte se na druhou definici jmenného prostoru XML pro p5 ? Podívejte se na použití tohoto jmenného prostoru XML v qn:FilterValue[@p5:Id=sql:variable("@lookupvalueId")] výraz?




  1. Nejúčinnější způsob, jak provést SQL 'INSERT IF NOT EXISTS'

  2. Najděte minimální nepoužitou hodnotu v tabulce mysql

  3. Resetujte sekvenci v jpa

  4. Jak vytvořit primární klíč v SQL