2

我想执行下面的T-sql

declare @sql varchar(max) = 'select 1 a, 2 b for xml path (''''), root(''root'')'
declare @t table (x xml)
insert into @t exec (@sql)

但是,我收到了错误消息

消息 6819,第 16 层,状态 5,第 2 行

INSERT 语句中不允许使用 FOR XML 子句

4

1 回答 1

3

将创建 XML 的查询嵌入到一个额外的 select 语句中。

declare @sql varchar(max) = '
select
  (
  select 1 a,
         2 b
  for xml path (''''), root(''root'')
  )'

declare @t table (x xml)
insert into @t exec (@sql)
于 2013-03-27T06:18:31.570 回答