powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Получение XML кода после FOR XML запроса в переменную
5 сообщений из 5, страница 1 из 1
Получение XML кода после FOR XML запроса в переменную
    #32021746
Shef
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно во такая операция но она не поддерживается
Declare @CSS_Text char(2000)
SET @CSS_Text = (select * from album FOR XML AUTO)

Каким образом это можно реализовать

Каким образом записать значение в переменную типа TEXT
...
Рейтинг: 0 / 0
Получение XML кода после FOR XML запроса в переменную
    #32021759
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BOL - XML and Internet Support - Retrieving and Writing XML Data - Retrieving XML Documents Using FOR XML - Guidelines for Using the FOR XML Clause

"The FOR XML clause is valid only in the SELECT statement and is subject to these limitations:

FOR XML is not valid in subselections, whether it is in UPDATE, INSERT, or DELETE statements, a nested SELECT statement, or other statements (SELECT INTO, assignment ). For example

DECLARE @doc nchar(3000)
SET @doc = (SELECT * FROM Customers WHERE CustomerID = 'ALFKI' FOR XML RAW)
"

И пользовательские переменные типа text, ntext и image также объявлять нельзя.

Придется формировать свою строковую переменную и использовать sp_xml_preparedocument
...
Рейтинг: 0 / 0
Получение XML кода после FOR XML запроса в переменную
    #32021764
Shef
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Этот хелп я видел поэтому и спрашиваю.
Как мне текст полученных после запроса запечатать в переменную?
sp_xml_preparedocument позволяет работать с готовым документом в текстовом виде. Вопрос в том ка его в этот вид сохранить?
...
Рейтинг: 0 / 0
Получение XML кода после FOR XML запроса в переменную
    #32021787
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут как-то дискутировали на эту тему.
Мои выводы такие (конечно, ИМХО):
MS SQL не предназначен и не может использоваться для работы с XML.
Опция FOR XML в выборках предназначена для указания коммуникационным компонентам (не ядру) сервера (скорее всего Open Data Services) перехватить результат запроса и преобразовать его в XML. Из этого следует, что в TSQL это использовать нельзя.
Соответственно, Ваша задача не решаема.
Можно, конечно, использовать OPENROWSET, но этот способ ОЧЕНЬ плохой.
...
Рейтинг: 0 / 0
Получение XML кода после FOR XML запроса в переменную
    #32021788
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку:
В переменную результат не положить в любом случае, т.к. select ... FOR XML может вернуть много строк (даже если делается select ... FOR XML для одной записи).
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Получение XML кода после FOR XML запроса в переменную
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]