Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách thêm và xóa thẻ xml của dữ liệu hiện có bên trong cột xmltype trong oracle

Bạn có thể sửa đổi XML của mình bằng cách thêm / xóa các thẻ tương tự như sau, bằng AppendChildXML deleteXML .

Trong ví dụ này, phần đầu tiên trả về XML của bạn với một thẻ nữa, trong khi cột thứ hai sẽ xóa một thẻ phù hợp với điều kiện giữa [...]:

with xmlTab(val) as (
    select xmlType('<employee>
      <id>FMCSC00015</id>
      <year>2016</year>
      <month>1</month>
      <PAYMSTR_SALHDNM>BASIC PAY</PAYMSTR_SALHDNM>
      <PAYMSTR_AMOUNT>35600</PAYMSTR_AMOUNT>
      <PAYMSTR_SALHDNM>ASSOCIATION SUBSCRIPTION</PAYMSTR_SALHDNM>
      <PAYMSTR_AMOUNT>240</PAYMSTR_AMOUNT>
      <PAYMSTR_SALHDNM>TELEPHONE ALLOWANCE</PAYMSTR_SALHDNM>
      <PAYMSTR_AMOUNT>800</PAYMSTR_AMOUNT>
      <PAYMSTR_SALHDNM>HOUSE RENT DEDUCTION</PAYMSTR_SALHDNM>
      <PAYMSTR_AMOUNT>2587.5</PAYMSTR_AMOUNT>
      <PAYMSTR_SALHDNM>MEDICAL ALLOWANCE</PAYMSTR_SALHDNM>
      <PAYMSTR_AMOUNT>700</PAYMSTR_AMOUNT>
      <PAYMSTR_SALHDNM>GAS BILL</PAYMSTR_SALHDNM>
      <PAYMSTR_AMOUNT>450</PAYMSTR_AMOUNT>  
      <PAYMSTR_SALHDNM>LIFE INSURANCE PREMIUM (D)</PAYMSTR_SALHDNM>
      <PAYMSTR_AMOUNT>1718</PAYMSTR_AMOUNT>  
    </employee>')
    from dual
    )
    select APPENDCHILDXML( val,
                           'employee',
                           XMLType('<PAYMSTR_SALHDNM>SONALI BANK LOAN-4</PAYMSTR_SALHDNM>')
                         ) as APPEND,  
           DELETEXML(val,'/employee/PAYMSTR_AMOUNT[.="1718"]') AS DEL
    from xmlTab

XML để thêm có thể được xây dựng tự động bằng cách đọc dữ liệu từ một bảng khác, ví dụ theo cách này:

with test as 
(
    select 'PAYMSTR_SALHDNM' tag, 'SONALI BANK LOAN-4' val from dual union all
    select 'PAYMSTR_SALHDNM' tag, 'GAS BILL' val from dual
)     
select XMLELEMENT(tag, val) from test



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cài đặt ứng dụng khách Oracle Warehouse Builder 11g R2

  2. ORACLE Tìm kiếm tất cả các bảng của một chuỗi với cột BLOB

  3. SQL - Tạo liên kết giữa các trường (Mối quan hệ bắc cầu)

  4. Chọn một hàng ngẫu nhiên trong Oracle

  5. java.sql.SQLException:Listener từ chối kết nối với lỗi sau:ORA-12519, TNS:không tìm thấy trình xử lý dịch vụ thích hợp