Я очень новичок в SQL DML, и я мог бы использовать любую помощь в проницательности, если это возможно.Возможно ли заменить весь узел на SQL DML?
declare @xml XML, @id int, @new XML
SET @id = 2
SET @xml = '<root><node ids=1><child /></node><node ids=2><child /></node></root>'
SET @new = '<node ids=2,3><child /></node>'
Я хотел бы установить весь элемент узла от корня, чтобы быть таким же, как @new, но у меня возникли проблемы, выясняя синтаксис с SQL DML. Я знаю, что следующее не работает по нескольким причинам, но считаю его почти псевдокодом в отношении функциональности, которую я пытаюсь выполнить.
SET @xml.modify('replace value of (/root/node[@id=sql:variable("@id")]) with sql:variable(@new)')
У меня может быть больше синтаксиса, чем я понимаю, так как я еще не знаком с этим материалом. Я знаю, что он ожидает, что я укажу/text() для нетипизированного значения, но я бы тоже хотел заменить тег «node» для упаковки и что сначала он должен взять с [1]. Каков правильный синтаксис для обработки такого рода вызовов?