Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Таблицу в XML и обратно  [new]
stim24
Member

Откуда: Иркутск
Сообщений: 173
Помогите ни как не могу разобраться в xml.
Понял что в если в запросе ставим конце for xml он запрос возвращает в xml-е
а как обратно вернуть в таблицу такой же структуры ни как не разберусь.
Скорее всего видимо должна быть какая-то схема импорта xml

create table tmp (id int, name nvarchar(10))

insert into tmp (id,name) values (1,'Tim')
insert into tmp (id,name) values (2,'Victor')
insert into tmp (id,name) values (3,'Renat')

select * from tmp

declare @handle int, @xml nvarchar(max)

--- Переводим запрос в XML 
set @xml=(select * from tmp for xml auto,root('tmp'))

-- Теперь пытаемся получить обратно данные в таблицу
EXEC sp_xml_preparedocument @handle OUTPUT, @xml

select * from Openxml(@handle,'tmp')

drop table tmp
20 дек 12, 04:22    [13657442]     Ответить | Цитировать Сообщить модератору
 Re: Таблицу в XML и обратно  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 6254
stim24,

Почитали бы вы справку по openxml, что ли... И заодно - хотя бы в самых общих чертах - про XPath.
20 дек 12, 06:20    [13657494]     Ответить | Цитировать Сообщить модератору
 Re: Таблицу в XML и обратно  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
stim24
-- Теперь пытаемся получить обратно данные в таблицу
EXEC sp_xml_preparedocument @handle OUTPUT, @xml


Ну только теги нужные укажите как поля и пойдёт на первый раз:)
20 дек 12, 11:13    [13658349]     Ответить | Цитировать Сообщить модератору
 Re: Таблицу в XML и обратно  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
stim24
select * from Openxml(@handle,'tmp')
[/src]


В смысле в этом запросе допишите ещё волшебное слово with.
20 дек 12, 11:16    [13658371]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить