У меня есть таблица с двумя полями типа NUMERIC и одним полем типа XML. Вот грубый образец:
CREATE TABLE books (
ID INT NOT NULL,
price NUMERIC(4,2),
discount NUMERIC(2,2),
book XML
);
Значение XML будет выглядеть примерно так, скажем,
<?xml version="1.0" encoding="UTF-8"?>
<book>
<title>Harry Potter</title>
<author>J K Rowling</author>
<Store>
<Name>Burke and Burkins</Name>
<Address>Some St, Somewhere, Some City</Address>
</Store>
</book>
Теперь мой вопрос: используя xml.modify()
, как я могу добавить два xpath в разделе Store с ценой и скидкой со значением из books.price
и books.discount
?
<?xml version="1.0" encoding="UTF-8"?>
<book>
<title>Harry Potter</title>
<author>J K Rowling</author>
<Store>
<Name>Burke and Burkins</Name>
<Address>Some St, Somewhere, Some City</Address>
<Price>value from books.price from the same row</Price>
<Discount>value from books.discount from the same row</Discount>
</Store>
</book>
Это грубый пример, поэтому, пожалуйста, не беспокойтесь о том, откуда взялись XML-данные. Скажем так, в столбце book уже присутствуют XML-данные.
Я знаю, как обновить таблицу со статическими значениями,
UPDATE books
SET book.modify('insert <Price>10.99</Price><Discount>20.00</Discount> after (/book/Store/Address)[1]')
Производительность здесь не при чем.