SQL Server 2000: проблема с записью XML-вывода - PullRequest
2 голосов
/ 16 ноября 2010

Мне нужно установить переменную @XMLOutput в значение подзапроса в формате XML.

Подзапрос прекрасно работает сам по себе, но когда весь запрос выполняется, я получаю сообщение об ошибке:

Неверный синтаксис рядом с XML.

SELECT @XMLOutput = (SELECT loc
                       FROM ghhsitemap url
                    FOR XML AUTO, Elements)

Вторая проблема: при указании @XMLOutput в качестве переменной и установке ее типа данных на xml он говорит, что это недопустимый тип данных.

Как это можно решить?

Ответы [ 3 ]

2 голосов
/ 16 ноября 2010

Поддержка типов данных XML не была включена в SQL Server до SQL Server 2005.

0 голосов
/ 16 ноября 2010

Это не поддерживается в SQL 2000. И не пытайтесь вернуть его в коррелированном подзапросе - это также не будет работать в SQL 2000. Забавно, а?ваш xml настолько прост, что я просто соберу xml как строку и верну ее.

DECLARE @XmlString varchar(500)
SELECT @XmlString = '<loc>' + Cast(loc as varchar(8)) + '</loc>' FROM ghhsitemap
0 голосов
/ 16 ноября 2010

Просто объявите @XMLOutput как varchar ()

Ваш синтаксис для установки значений неверен - он должен быть таким:

SELECT @XMLOutput = loc FROM ghhsitemap url FOR XML AUTO, Elements
...