Я довольно новичок в SQL, и я пытаюсь отфильтровать и изменить значения внутри столбца, в котором содержится документ XML для покупного заказа.Вот пример того, как выглядит XML-документ и что я ищу.
<TenderLines>
<TenderLineItem>
<tenderTypeId>S0001-00000001</tenderTypeId>
..
..
</TenderLineItem>
<TenderLines>
У меня более 6000 строк, и не все из них имеют одинаковый tenderTypeId.Я хочу отфильтровать значения в tenderTypeId, имеющие 'S0001-00000001', и изменить их на '2'
Пока что это то, что я придумал.
USE LSPOS80
DECLARE @replacement as varchar(50)
DECLARE @redundant as varchar(50)
SET @replacement = '2'
SET @redundant = 'S0001-00000001'
Update dbo.POSISTRANSACTIONTABLE
SET TRANSACTIONXML.modify
('replace value of(/RetailTransaction/TenderLines/TenderLineItem/tenderTypeId/@redundant) [1] with sql:variable("@replacement")')
Запрос выполнен успешно, но ничего не меняется, и мне было интересно, если кто-нибудь из вас сможет прочитать это и, возможно, дать мне советы.
Спасибо за ваше время, с наилучшими пожеланиями, Вальди.
PSЯ использую Microsoft SQL Server 2008 R2 - Express Edition