Ошибка сохранения результата выбора для xml в переменной xml (TSQL) - PullRequest
0 голосов
/ 18 ноября 2009

У меня проблемы с сохранением результата "select for xml" в переменную xml. Я пытаюсь сделать что-то вроде этого:

declare @m xml
select @m=(select value from MyTable for xml auto)
select @m as m

Если MyTable содержит только несколько записей, тогда все в порядке, но, когда MyTable содержит больше записей (например: 4700), результат будет пустым. Интересно, что даже для более чем 10000 записей можно выбрать правильный результат:

select value from MyTable for xml auto

отлично работает, но:

select value from MyTable for xml auto, type

пусто.

Я сделал что-то не так или это ошибка? Есть ли обходной путь для этого? Переменная xml важна для меня, потому что я хочу позже выполнить некоторые операции с контентом xml с использованием XML-DML. Я использую MSSQL2008 SP1

Пожалуйста, помогите мне!

Ответы [ 2 ]

0 голосов
/ 18 ноября 2009

Это не проблема сервера SQL! Все работало нормально все время. Ошибка, кажется, в редакторе, который я использовал: редактор запросов T-SQL в Visual Studio 2008 SP1. С SQL Server Management Studio все в порядке.

0 голосов
/ 18 ноября 2009

По этой ссылке (со ссылкой на их пример кода):

http://msdn.microsoft.com/en-us/library/ms187339.aspx

они используют команду SET для заполнения переменной до SELECT ее использования. Вы получаете ту же ошибку, если вы делаете это с вашими данными?

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