Мне было интересно, может кто-нибудь указать мне на учебник или дать мне предложения по обработке XML-документа "Запрос на предложение".Использование SQL Server 2005
Вот несколько полезных страниц:
Мне нужно разделить этот документ на отдельные позиции
Это даст вам все строки:
select
T.N.value('Quantity[1]', 'int') as Quantity,
T.N.value('Model[1]', 'varchar(25)') as Model,
T.N.value('Color[1]', 'varchar(25)') as Color
from @XML.nodes('/MyQuote/LineItems/Line') as T(N)
каждая сномер
Не так просто.Посмотрите на этот ответ. XQuery и Node Ids
Также необходимо иметь возможность добавлять / редактировать / удалять любые
Просто используйте modify () Method(Тип данных xml)
I need to randomly be able to process any request such as validate line 6, calc price for line 3 delete line 4, change line 2 to Yellow
Чтобы получить строку 6, вам нужно следующее:
select
T.N.value('Quantity[1]', 'int') as Quantity,
T.N.value('Model[1]', 'varchar(25)') as Model,
T.N.value('Color[1]', 'varchar(25)') as Color
from @XML.nodes('/MyQuote/LineItems/Line[6]') as T(N)
/MyQuote/LineItems/Line[6]
совпадает с /MyQuote/LineItems/Line[position()=6]
Я предполагаю, что лучший способ - сохранить весь документ в виде столбца XML и осуществлять операции с ним, а не уничтожать и сохранять отдельные позиции в реляционной таблице?
Неужели?Я не знаю, что для вас лучше, но я бы определенно уничтожил данные в таблицах, если бы не было действительно веских причин.