У меня есть XML, хранящийся в столбце XMLTYPE, в котором есть зашифрованные элементы, которые мне нужно заменить на расшифрованное значение путем присоединения к другим таблицам.
-- Sample XML
<Root_Element xmlns="http://euroconsumers.org/notifications/2019/01/notification">
<DocID>ABCD1234</DocID>
<InsertDate>2019-03-01</InsertDate>
<TimeSeries>
<Received_DocID>123456</Received_DocID>
<Encrypted_ProviderID>PROV001</Encrypted_ProviderID>
<Point>
<Encrypted_BidID>BD001</Encrypted_BidID>
<Amount>1.63</Amount>
</Point>
</TimeSeries>
<TimeSeries>
<Received_DocID>123456</Received_DocID>
<Encrypted_ProviderID>PROV001</Encrypted_ProviderID>
<Point>
<Encrypted_BidID>BD002</Encrypted_BidID>
<Amount>1.63</Amount>
</Point>
</TimeSeries>
<TimeSeries>
<Received_DocID>987654</Received_DocID>
<Encrypted_ProviderID>PROV002</Encrypted_ProviderID>
<Point>
<Encrypted_BidID>BD101</Encrypted_BidID>
<Amount>1.85</Amount>
</Point>
</TimeSeries>
</Root_Element>
-- PROVIDERS table
ProviderID Encrypted_ProviderID
PROVEU PROV001
PROVUK PROV002
-- BIDS table
Received_DocID BidID Encrypted_BidID
123456 1111 BD001
123456 2222 BD002
987654 3333 BD101
-- Expected output
<Root_Element xmlns="http://euroconsumers.org/notifications/2019/01/notification">
<DocID>ABCD1234</DocID>
<InsertDate>2019-03-01</InsertDate>
<TimeSeries>
<Received_DocID>123456</Received_DocID>
<Encrypted_ProviderID>PROVEU</Encrypted_ProviderID>
<Point>
<Encrypted_BidID>111</Encrypted_BidID>
<Amount>1.63</Amount>
</Point>
</TimeSeries>
<TimeSeries>
<Received_DocID>123456</Received_DocID>
<Encrypted_ProviderID>PROVEU</Encrypted_ProviderID>
<Point>
<Encrypted_BidID>2222</Encrypted_BidID>
<Amount>1.63</Amount>
</Point>
</TimeSeries>
<TimeSeries>
<Received_DocID>987654</Received_DocID>
<Encrypted_ProviderID>PROVUK</Encrypted_ProviderID>
<Point>
<Encrypted_BidID>3333</Encrypted_BidID>
<Amount>1.85</Amount>
</Point>
</TimeSeries>
</Root_Element>
Тег будет повторяться около 1000 раз в течениеXML, поэтому обновление должно быть быстрым и, если возможно, одним оператором.
Есть ли возможность сделать это легко и быстро с помощью XMLQuery?
База данных Oracle 11.2.0.3