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

FORXML句はINSERTステートメントでは許可されていません

4

1 に答える 1

3

XMLを作成するクエリを1つの追加の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 に答える