Вы можете использовать XML вместо простого файла.
Пример структуры и данных:
create table XMLTable
(
ID int,
XMLData xml
)
insert into XMLTable values
(1, '<root>item1</root>'),
(2, '<root>item2</root>')
Запрос данных с использованием for xml auto
:
select *
from XMLTable
for xml auto, elements
Результат:
<XMLTable>
<ID>1</ID>
<XMLData>
<root>item1</root>
</XMLData>
</XMLTable>
<XMLTable>
<ID>2</ID>
<XMLData>
<root>item2</root>
</XMLData>
</XMLTable>
Загрузить XML в переменную типа данных XML в целевой БД и использовать XQuery для вставки данных.Используйте .value()
для обычных столбцов и .query()
для столбца XML.
declare @XML xml
set @XML =
'<XMLTable>
<ID>1</ID>
<XMLData>
<root>item1</root>
</XMLData>
</XMLTable>
<XMLTable>
<ID>2</ID>
<XMLData>
<root>item2</root>
</XMLData>
</XMLTable>'
insert into XMLTable(ID, XMLData)
select T.N.value('ID[1]', 'int'),
T.N.query('XMLData/*')
from @XML.nodes('/XMLTable') as T(N)