我想执行以下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)
但是,我收到了
的错误消息Msg 6819,Level 16,State 5,Line 2
INSERT语句中不允许使用FOR XML子句
答案 0 :(得分:3)
在一个额外的select语句中嵌入创建XML的查询。
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)