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

Nhận giá trị xuất hiện đầu tiên từ XML bằng trình phân tích cú pháp oracle

Tôi đoán đây là thứ bạn đang tìm kiếm-

FOR r IN (  SELECT rownum rn, cells
           FROM xmltable('/SearchOutput/rowArray/Row' passing XMLTYPE(l_xmlclob)
                                     columns CELLS  XMLTYPE PATH './cellArray') f
        )
 LOOP
  DBMS_OUTPUT.PUT_LINE('Row: '||r.rn);      
  FOR c IN ( SELECT colid, 
                    colval
               FROM xmltable('for $i in /cellArray/Cell
                              return $i' 
                              passing r.cells
                              columns COLID NUMBER PATH 'columnId',
                                      COLVAL VARCHAR(20) PATH 'valueArray/Value[1]/value')                  
           )
  LOOP
     DBMS_OUTPUT.PUT_LINE('colid, col value: '||c.colid||', '||c.colval);
  END LOOP;
 END LOOP;
end;

HOẶC

FOR r IN (  SELECT rownum rn, cells
           FROM xmltable('/SearchOutput/rowArray/Row' passing XMLTYPE(l_xmlclob)
                                     columns CELLS  XMLTYPE PATH './cellArray')
        )
 LOOP
  DBMS_OUTPUT.PUT_LINE('Row: '||r.rn);      

  FOR c IN ( SELECT colid, colval
               FROM xmltable('/cellArray/Cell' passing r.cells
                                               columns COLID NUMBER PATH './columnId',
                                                       COLVAL VARCHAR(20) PATH     './valueArray/Value[1]/value')
           )
  LOOP
     DBMS_OUTPUT.PUT_LINE('colid, col value: '||c.colid||', '||c.colval);
  END LOOP;
 END LOOP;

Đầu ra-

Row: 1
colid, col value: 1, Uganda
colid, col value: 5, AZ12604823-001
colid, col value: 2, IT06686
colid, col value: 9, Hu Mics Metab K
colid, col value: 8, 2006-06-21
colid, col value: 7, 2006-07-27

Value[1] sẽ cung cấp cho bạn phần tử nhiều dòng đầu tiên, tức là Value đầu tiên singleton.




  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ách tạo thủ tục lưu trữ Oracle có thể trả về các thực thể cụ thể cũng như tất cả các thực thể

  2. Cách tốt nhất để kết nối giữa cơ sở dữ liệu android và oracle là gì?

  3. Cách chèn ngày trong cơ sở dữ liệu quan hệ Oracle bằng C #

  4. truy vấn để bỏ qua các bản ghi trùng lặp / null

  5. sysdate và dbtimezone khác nhau trong Cơ sở dữ liệu Oracle