Как присвоить переменной значение из запроса For XML?

AlexNsk
Дата: 09.10.2003 11:56:37
При попытке присвоить значение переменной

Declare @StrXML varchar(4000)

Set @StrXML = (
SELECT top 1 F as Fam, I as Im, O as Otch, Kod_Dog
FROM [OLDRASS]...[Clients] as Client
FOR XML AUTO, ELEMENTS
)
Имею сообщение о некоректном синтаксисе...

Server: Msg 170, Level 15, State 1, Line 5
Line 5: Incorrect syntax near 'XML'.
Glory
Дата: 09.10.2003 12:08:27
Никак не присвоить.

А что вы собрались с такой переменной делать ???
iSestrin
Дата: 09.10.2003 12:09:19
а никак, оно не предназначено для внутреннего употребления внутри сиквела
AlexNsk
Дата: 09.10.2003 12:22:35
2 Glory

Есть задача по переносу данных из внешних таблиц на Скул.
На скуле есть ХП для записи данных из внешнего приложения.
Хочу не тратя больших усилий перенести данные из внешнего источника с помощью существующих ХП.
Glory
Дата: 09.10.2003 12:31:45
Что-то я не пойму - вы все внешние данные хотите занести в виде XML в BLOB поля что-ли ??? А как вы потом собираетесь этими данными манипулировать ? Или такая задача не стоит ?
AlexNsk
Дата: 09.10.2003 12:39:38
Не так. ХП на сервере используют XML в качестве входящего параметра, потом все распихивают по нужным таблицам. Форматы внешних данных оставляют желать лучшего (очумелые ручки пользователей) и должны будут подгружаться с различными фильтрами и дополнительными обработками. Смысл - используя запрос XML, создать параметр - строку для передачи в ХП.
Glory
Дата: 09.10.2003 13:04:21
Смысл - используя запрос XML, создать параметр - строку для передачи в ХП.
С помощью FOR XML - не получится. Придется формировать такую строку вручную
AlexNsk
Дата: 09.10.2003 13:13:32
Жаль, могло бы получиться красиво...
Glory
Дата: 09.10.2003 13:16:28
Можно пойти в обход.
Записать результат в файл http://www.sql.ru/faq/faq_topic.aspx?fid=131. Который затем передать в процедуру как параметр.
Трудоемкий вариант, но по крайней мере будет работать
AlexNsk
Дата: 09.10.2003 13:43:41
К сожалению, ссылка не работает. Но смысл понятен.