問題を説明する以下のコードは次のとおりです...
以下の 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)
-- 動かない!!!
そしてエラーをスローします
xml データ型メソッド「modify」の引数 1 は、文字列リテラルでなければなりません。
これを回避する方法はありますか?
私はこれを試しましたが、うまくいきません:(