簡體   English   中英

如何使用簡單轉換 function 更新 clob 數據類型字段中的 xml 數據?

[英]How can I update xml data in clob data type field using simple translate function?

如何使用 SQL Developer 中的簡單轉換 function 更新 Clob 數據類型中的 XML 數據。

顯示表格:

Select * from AmanTest;

要更新字段:

Update AmanTest Set fULLName = 'Aman 1991'; commit;

替換字符(屏蔽):

Update AmanTest Set fULLName = Translate(FullName,'amnA19','artA50'); commit;

運行查詢

Output- 'Arat 5005'

問題陳述:我想更新 XML 中的數據,例如:

<oip:process xmlns:oip="http://xyz.com.au/GoldSendEmail/OIPSendEmailService">
   <oip:fromEmailAddress>amanclaims@btfinancialgroup.com</oip:fromEmailAddress>
   <oip:toEmailAddress>WBCTest06@btfin-dev.com</oip:toEmailAddress>
   <oip:ccEmailAddress />
   <oip:emailSubject>SCI premium waiver - 111179657</oip:emailSubject>
   <oip:emailBody>
       Member Number: 111179657 
       Claim Number: CLM-55 
       Member Name: Aman Usrete
       Thank you,
       Health Claims Team
   </oip:emailBody>

具體來說,我想更新 email 地址和成員名稱。

如果您的 XML 數據存儲在 CLOB 中,您可以執行以下操作:

UPDATE AmanTest att
SET att.xml_col = 
  XMLSERIALIZE(CONTENT 
               UPDATEXML(XMLTYPE(att.xml_col), 
                         '/Process/toEmailAddress/text()', 
                         'TO@EMAIL.COM',
                         '/Process/emailBody/text()',                         
                   REGEXP_REPLACE(EXTRACTVALUE(XMLTYPE(at.xml_col),
                                               '/Process/emailBody/text()'), 
                                  'Member Name:\s\w+\s\w+', 
                                  'Member Name: New MemberName')) 
               AS CLOB INDENT);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM