Для ошибки XML, потому что имя столбца имеет пробелы - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть следующая таблица (называемая temp1):

+-------+------+------+------+----------------------+
| cntry | col1 | col2 | col3 | ACV Distribution (w) |
+-------+------+------+------+----------------------+
| UK    |  100 |  100 |  100 |                    0 |
| FR    |  100 |  100 |  100 |                    0 |
+-------+------+------+------+----------------------+

При выполнении этого оператора:

DECLARE @listStr varchar(MAX);
DECLARE @query varchar(MAX);
drop table if exists temp2 ;
set @liststr = (  select * from temp1  where cntry = 'UK' for xml path('') )
set @query =('SELECT top 10 col1,col2,col3,' + @listStr + ' INTO temp2 FROM temp3' )
execute(@query); 
SELECT * FROM temp2 ;

Я получаю эту ошибку:

ОШИБКА: Имя столбца ACV Distribution (w) содержит недопустимый XML-идентификатор, как того требует FOR XML

Я застрял здесь, поскольку не могу изменить имя столбца и должен использовать динамический sql.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...