Вот код ниже, который объяснит вам проблему ...
Я создаю таблицу ниже со столбцом xml и объявляю переменную, инициализирую ее и вставляю значение в столбец xml,
create table CustomerInfo
(XmlConfigInfo xml)
declare @StrTemp nvarchar(2000)
set @StrTemp = '<Test></Test>'
insert into [CustomerInfo](XmlConfigInfo)
values (@StrTemp)
Затем следует вопрос, если я напишу это ...
update [CustomerInfo] set XmlConfigInfo.modify('insert <Info></Info> into (//Test)[1]')
- Работает отлично !!!
но когда я попробую это,
set @StrTemp = 'insert <Info></Info> into (//Test)[1]'
update [CustomerInfo] set XmlConfigInfo.modify(@StrTemp)
- не работает !!!
и выдает ошибку
Аргумент 1 метода типа данных xml «modify» должен быть строковым литералом.
есть ли способ обойти это?
Я пытался это , но оно не работает: (