Chà, vì thuộc tính XML của bạn id
là không gian tên XML có tiền tố p5
, bạn cũng phải khai báo và sử dụng không gian tên XML thứ hai đó trong mã của mình:
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
Xem định nghĩa không gian tên XML thứ hai cho p5
? Xem việc sử dụng không gian tên XML đó trong qn:FilterValue[@p5:Id=sql:variable("@lookupvalueId")]
biểu thức?