Для тех, кто пытается ответить на вопрос, вот несколько примеров таблиц, которые можно использовать
create table emp (a varchar(10), b int, id int identity)
insert emp select 'abc', 1
insert emp select 'def', 2
create table fieldsinfo (tablename sysname, description sysname, fieldname sysname)
insert fieldsinfo select 'emp', 'field 1', 'a'
insert fieldsinfo select 'emp', 'field 2', 'b'
Этот скрипт сохраняет сгенерированный XML в переменную @XML (оригинал!)
declare @SQL nvarchar(max)
set @SQL = ''
select @SQL = @SQL + FieldName + ' as [' + Description + '], '
from FieldsInfo
where TableName = 'Emp'
set @SQL = 'set @XML = (select '+ left(@SQL, len(@SQL)-1) + ' from Emp FOR XML AUTO, ELEMENTS, ROOT(''customers''))'
declare @Xml xml
exec sp_executesql @SQL, N'@XML xml output', @xml output
select 'I have >>> ', @Xml -- check contents