Получение 'Аргумента, 1 из данных XML вводят метод, “изменяет”, должен быть строковый литерал' при вставке атрибута в xml

Попытка следующего кода. Но получая 'Аргумент 1 из метода типа данных XML "изменяет", должен быть строковый литерал' ошибка. искавший много, но наклон находят любое решение для этой проблемы

SET @Path = '/@ParentNodeName/@NodeName/child::*'
SET @x.modify('insert attribute status {sql:variable("@status")}
               as first into (' + @Path + ')[1]')
7
задан marc_s 13 April 2010 в 09:20
поделиться

1 ответ

Проблема не в переменной sql: со значением, которое вы пытаетесь вставить, а в способе включения XPath в оператор изменения. Вы не можете связать эту команду вместе - вам нужно использовать литерал:

Итак, вам нужно использовать:

SET @x.modify('insert attribute status {sql:variable("@status")}
               as first into (/Parent/Node/)[1]')

Тогда она работает нормально.

11
ответ дан 6 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: