MS SQL 2008R2Standardデータベースがあります。varchar(250)
データを含む列と。を含む列がありxml
ます。
CREATE TABLE [dbo].[art](
[id] [int] IDENTITY(1,1) NOT NULL,
[idstr] [varchar](250) NULL,
[rest] [xml] NOT NULL,
CONSTRAINT [PK_art] PRIMARY KEY CLUSTERED ([id] ASC)
)
問題は、文字列関数の結果をxmlの約140レコードに挿入したいということです。xml.modify
動的に生成されたテキストで使用しようとしました。
UPDATE [pwi_new].[dbo].[art]
SET rest.modify('insert <e><k>link</k><v>'
+ my_string_function(idstr) + '</v></e> into (/root)[1]')
WHERE parent = 160
AND idstr LIKE '%&%'
GO
ただし、次のエラーが発生します。
The argument 1 of the XML data type method "modify" must be a string literal.
何か案は?時間フィールド、外部言語の使用、および生成された文字列からのTSQLの実行を避けたいですか?(とについて聞いたことがsql:variable
ありsql:column
ますが、これはtsql関数の結果です。)