У меня есть следующие данные XML и таблица элементов.
DECLARE @input XML = '<root>
<C1>
<C2>
<C3> <C4>data1</C4> </C3>
</C2>
<C2>
<C3>data2</C3>
</C2>
</C1>
<D1>
<D2>data3</D2>
<D2>data4</D2>
</D1>
</root>'
Таблица элементов: (это всего лишь пример, поэтому его можно изменить в соответствии с подходящим решением.)
CREATE TABLE Element ( elementId INT IDENTITY PRIMARY KEY,
elementName VARCHAR (200) NOT NULL,
parentId INT,
data VARCHAR(300) );
Согласно @input корневой элемент является родителем C1 и D1, тогда C1 является родителем C2,...
Какое решение для SQL Server 2012/2014 для кодирования хранимой процедуры с CTE (или любым другим типом объекта SQL) для рекурсивного помещения всех имен элементов в таблицу элементов?
столбец данных заполняется данными, в этом случае элементы C4 и второй C3 и D2 имеют данные, остальные элементы равны нулю.
Я также видел иерархический тип данных, и мне интересно, может ли это помочь решить эту проблему?
OpenXml
. Дополнительная информация здесь: msdn.microsoft.com/en-us/library/ms175160. aspx - person Mike   schedule 20.07.2014